C语言填空题 帮忙解答下 谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/22 00:38:30
调用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*(-1)
第二个空:fun(10)
首先把m=1-2+3-4+。。。+9-10分解,分成数字和运算符,数字的变换有 for(i=1;i<=n;i++)完成,运算符的变换由f=f*(-1)完成;
最后,在此循环结束时返回值是-5。

f=f*(-1) 改变下一项的符号!

第二空fun(10)) ,调用fun()函数,输出m的值!

f=-1*f; //控制加减
printf("m=%d\n",fun(10)); //调用函数,输出结果

1)-f;
2)fun(10);