#include<stdio.h>
int func(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”,_____);
}
这个程序的功能是输出表达式: m=1-2+3-4+…+9-10
>> 本文固定链接: http://www.vcgood.com/archives/2662
>> 转载请注明: yiwangshui 2008年08月27日 于 C语言帝国 发表
第一个是f=f*(-1);但是不明白为什么有两个main()函数,而且n没有定义。
或许整个程序应该是这样的吧:
#include<stdio.h>
main()
{
int m=0,f=1,n=10,i;
printf(“m=”);
for(i=1;i<=n;i++)
{
m+=i*f;
if(f==1)
printf(“%d-”,i);
else
printf(“%d+”,i);
f=f*(-1);
}
printf(“\b”);
}
输出形式为:m=1-2+3-4+……+9-10
若程序为:
#include<stdio.h>
main()
{
int m=0,f=1,n=10,i;
printf(“m=”);
for(i=1;i<=n;i++)
{
m+=i*f;
if(f==1)
printf(“%d-”,i);
else
printf(“%d+”,i);
f=f*(-1);
}
printf(“\b=%d”,m);
}
输出形式为:m=1-2+3-4+……+9-10=-5
若程序为:
#include<stdio.h>
main()
{
int m=0,f=1,n=10,i;
for(i=1;i<=n;i++)
{
m+=i*f;
f=f*(-1);
}
printf(“m=%d”,m);
}
输出形式为:m=-5,也就是输出表达式m=1-2+3-4+…+9-10的值。
如果说要函数调用的话,把第一个main改个名字,然后在第二个main()中调用。如下:
#include<stdio.h>
int sum()
{
int m=0,f=1,n=10,i;
for(i=1;i<=n;i++)
{
m+=i*f;
f=f*(-1);
}
return m;
}
main()
{
printf(“m=%d\n”,sum());
}
输出形式为:m=-5,也就是输出表达式m=1-2+3-4+…+9-10的值。
不知道你说的是哪一种。
由于在网吧,运行下载的TC 2.0,系统提示16位不能运行,所以程序没有经过测验,不过理论上来说应该不会错的。
如果有错误的话请指出。
呵呵……
不好意思啊,有点打错了,我修改了一下,啊能再帮我看一下,谢谢
都是只让在一个空里写一个语句么?这样的话第一个空我只想到填1-i%2*2,可能不是很简练。第二个填func(n)就行了;如果可以多写语句可以把第一个空去掉,在 m+=i*f;之前加入
if(i%2==0)
f=-1;
就这些
直接填-f不行吗?
我想填-f应该可以
脑子短路了…-f确实可以。
呵呵,-f 确实可以
我认为第一个空填-f
第二空填func(10)就搞定了!
还有把for(i=1;i<=n;i++);后面的 ; 给我去掉,害的我调了半天没找到错误!
额…………调试不出来啊
很简单嘛!
第一个-f
第二个func(10)
#include<stdio.h>
int func(int n)
{
int m=0,f=1,i;
for(i=1;i<=n;i++)
{
m+=i*f;
f=f*(-1);
}
return m;
}
main()
{
printf(“m=%d\n”,fuc(10));
}
这个程序的功能是输出表达式: m=1-2+3-4+…+9-10
应该这样吧
虽然给的答案都差不多,但结果不对