以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。 int fun(int n) { int m=0,f=1,i; for(i=1;i<=n;i++) m+=i*f;

admin2009-04-15  22

问题 以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。
   int fun(int n)
   {  int m=0,f=1,i;
      for(i=1;i<=n;i++)
      m+=i*f;
      f= 【  】;
      return m;
   }
   main()
   { printf("m=%d\n", 【  】);}

选项

答案-f或f*-1或-1*f或f*(-1)或(-1)*f fun(10)

解析 调用fun()函数计算m的值,在主函数中的空格处应该填调用fun()函数的语句。  fun()函数有一个形参n,为每次参加计算的值的个数,故在主函数中的空格处应该填fun(10),回到fun()函数,函数用到了一个for循环,共循环n次,当循环第i次的时候,m的值等于m=1-2+……+[(-1)的i-1次方]*i,所以在fun()函数的空格处应该填使f改变符号的语句,故应填-f或f*-1或-1*f或f*(-1)或(-1)*f。
转载请注明原文地址:https://kaotiyun.com/show/IOXp777K
0

最新回复(0)