c源程序救急,谁能告诉我这个程序错在哪了?1到100奇数和与偶数和!

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:43:58
#include<stdio.h>
main()
{
int n,sum=0;
printf("\n");

for(n=1;n<=100;n++)

if((n%2)==0)
sum+=n;
printf("2+4+6+...+100=%d\n",sum);

if((n%2)==1)
sum+=n;
printf("1+3+5+...+99=%d\n",sum);

return 0;
}
运行结果:

2+4+6+...+100=2550
1+3+5+...+99=2651

这是怎么回事啊?如果交换下if的顺序运行结果又是

1+3+5+...+99=2500
2+4+6+...+100=2500
我都快头痛死了,到底是怎么搞的嘛?我用的是turbo C 2.01

明显是程序有问题。
for循环仅仅对前面的起作用。
而且对sum进行了重复操作,逻辑混乱。
#include<stdio.h>
main()
{
int n,sum1=0,sum2=0;
printf("\n");

for(n=1;n<=100;n++)
{
if((n%2)==0)
sum1+=n;
else if((n%2)==1)
sum2+=n;
}
printf("2+4+6+...+100=%d\n",sum1);
printf("1+3+5+...+99=%d\n",sum2);

return 0;
}

213123