void main()
{
int a,b,c,d;
c=-1;
{
for(a=1;a<99;a+=2);
}
a=a+a;
{
for(b=b-2;b<-100;b=-2);
}
printf("%d,%d\n",a,b);
}
我的题目是这样的1+3+5+7……+99-2-4-6-8……-100
但是我的自减项始终都不对
请给我一个正确的类似程序 然后稍微写下思路就可以了,我是初学者,算法概念还没有 不好意思
void main()
{
int a,b,c,d;
c=-1;
{
for(a=1;a<99;a+=2);
}
a=a+a;
{
for(b=b-2;b<-100;b=-2);
}
printf("%d,%d\n",a,b);
}
我的题目是这样的1+3+5+7……+99-2-4-6-8……-100
但是我的自减项始终都不对
请给我一个正确的类似程序 然后稍微写下思路就可以了,我是初学者,算法概念还没有 不好意思
先说下逻辑上的错误.
a=a+a; for循环用a, 那么就应该用另外一个变量(比如c)来累加a的值.
还有就是for b循环中也需要一个变量来存放累加值.
而且for b的条件有问题. 初始化应该是b=-2, 而不是b=b-2;
判断条件应该是b>=-100; 因为-2 -4 -6....肯定比-100大. 所以当b比-100小时才退出for循环.
最后输出应该是累加的结果. 而不是a b.
然后说下语法上的错误.
直接给正确的代码了.你参考下.
#include <stdio.h>
int main()
{
int a,b,c=0,d=0;
for(a=1;a<=99;a+=2) //for()后面如果加;的话,就不执行任何语句. 空循环N次.
c+=a;
for(b=-2;b>=-100;b-=2)
d+=b;
printf("%d\t%d\n",c,d);
return 0;
}
可以简化为这样
int sum=0; for(int i=0;i<=100;i++) { sum=sum+i; sum=-sum; }
用笔一步一步在纸上算就知道
printf("%d",sum);
你定义C变量来做什么?又用不到