考虑当·i·等于98的结束后··
··这个循环里面的b是为99····
·然后i
+=2
··让i
=
100···
·继续往下走····if·语句判断时····b还是99··所以运行b=i+1;也就是赋值b=101···
然后·c就是多加了这个101!
二.··如果把0算上的话··从0到100偶数为51个···而从0到100的奇数为50个···
程序里面就要判断,
不利于for循环的连续性····
所以
for循环里面的内容更改如下:
for(i
=
2
i
<=
100
i
+=
2)
{
a
+=
i
b
=
i
-
1
c
+=
b
}
答:你b=i+1,i=100时,b就是101了,多加个101肯定错了…
#include
<stdio.h>void
main(){
int
a,b,c,i
a=0b=1c=0
for(i=0i<=100i+=2)
{
a+=i
if(b<=99)
b=i+1
c+=b
}
printf("sum
of
evens
is
%d\n",a)
printf("sum
of
odds
is
%d\n",c)}为什么奇数之和是2601,而不是2500
int i,sum=0for(i=1i<=100i+=2)sum+=i
printf("奇数和:%d\n",sum)
sum=0
for(i=2i<=100i+=2sum+=i
printf("偶数和:%d\n",sum)