有以下程序:main (){ int i, s=0; for(i=1;i<10;i+=2) s+=i+1; printf("%d\n", s);} 程序执行后的输出结果是( )。

admin2009-01-15  30

问题 有以下程序:main (){   int i, s=0;    for(i=1;i<10;i+=2) s+=i+1;    printf("%d\n", s);}    程序执行后的输出结果是(  )。

选项 A、自然数1~9的累加和
B、自然数1~10的累加和
C、自然数1~9中奇数之和
D、自然数1~10中偶数之和

答案8

解析 本题中,i赋初值为1,并对其每次进行加2操作,即i每次均为1~10之间的奇数, s+=i+ l,即s=s+i+1,相当于s等于原来的s每次加上1~10之间的偶数,直到i<10不成立。当i=1时,s=0+1+1+=2;当i=3时,s=2+3+1=2+4;当i=5时,s=2+4+5+1=2+4+6;当i=7时,s=2+4+6+7+1=2+4+6+8:当i=9时,s=2+4+6+8+9+1=2+4+6+8+10; 当i=11时,i<10不成立,结束循环。所以,4个选项中选项 D符合题意。
转载请注明原文地址:https://kaotiyun.com/show/hhXp777K
0

最新回复(0)