int i,s=0;for(i=1;i<10;i+=2) s+=i printf("%d\n",s);

void main()
{
int i,s=0;
for(i=1;i<10;i+=2) s+=i;
printf("%d\n",s);
}

这个不是很理解 也算不出来。。。请求高手帮助。

/for 循环 (初始值 i = 1; 当 i < 10时 循环继续; i 每循环一次 + 2) 每循环一次 s = s + i;
//所以 i = 1 时, s = 1
// i = 3时, s = 1 + 3 =4;
// i = 5时, s = 4 + 5 = 9;
// i = 7时, s = 9 + 7 = 16;
// i = 9时, s = 16 + 9 = 25;
// i = 11时 大于 10 循环退出。
//打印 s 即 25追问

i love you.thx!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-23
这里你用了一个for语句来实现循环;这也是c语言中用得比较多一个关键字,它比较灵活;
它的一般形式为:
for(表达式1;表达2;表达3)
语句
3个表达式的主要作用是:
表达式1:设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值;
表达式2:是循环条件 表达式,用来判定是否继续循环。在每次执行前执行此表达式,决定是否继续执行循环;
表达式3:作为循环的调整;
这样,for语句就可以理解为
for(循环变量赋初值;循环条件;循环变量增值)
语句
以上,表达式1,表达 式2 ,表达 3 都可以省略;但是(分号;)是不能省略;
所以应该改为:
main()
{
int i=1,s=0;
for(; i<=10;i++) //在i<=10的前面少了一个(分号;)
s=s+i;
printf("%d\n",s);
}

第2个回答  2011-08-23
这是一个十以内奇数累加的过程,结果就是
1(i=1,s=0,s=s+i=0+1=1)
4(i=1+2=3,s=1,s=s+i=1+3=4)
9(i=3+2=5,s=4,s=s+i=4+5=9)
16(i=5+2=7,s=9,s=s+i=9+7=16)
25(i=7+2=9,s=16,s=s+i=16+9=25)
第3个回答  2011-08-23
去下个算号器。
第4个回答  2018-11-15
s+=后边还有个乘号,你好像抄错题了