
8、有以下程序,执行后输出结果是 ( ) #include <stdio.h> void main() { int p[8]={11,12,13,14,15,1
我是这样算的:11+13+15+17=56.没错吧?可是我的卷子所给的答案是45.故请教一下。sorry题目上传得不完整,这里补充:8、有以下程序,执行后输出结果是()#...
我是这样算的:11+13+15+17=56.没错吧? 可是我的卷子所给的答案是45.
故请教一下。
sorry题目上传得不完整,这里补充:
8、有以下程序,执行后输出结果是 ( )
#include <stdio.h>
void main()
{ int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
While(i++<7) if(p[i]%2) j+=p[i];
printf("%d\n",j);
}
请教请教!您觉得结果是不是56呢?配上解释吧,谢谢! 展开
故请教一下。
sorry题目上传得不完整,这里补充:
8、有以下程序,执行后输出结果是 ( )
#include <stdio.h>
void main()
{ int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
While(i++<7) if(p[i]%2) j+=p[i];
printf("%d\n",j);
}
请教请教!您觉得结果是不是56呢?配上解释吧,谢谢! 展开
3个回答
展开全部
#include <stdio.h>
void main()
{ int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
While(i++<7) //当i=i+1小于7时,执行循环,所以一开始i=0+1=1
if(p[i]%2) //如果 p[1],p[2],p[3],p[4],p[5],p[6],p[7]能被2整除,执行下一条语句
j+=p[i]; // 所以从p[1]~p[7]能被2整除的是13,15,17,三者相加=45
printf("%d\n",j);
}
void main()
{ int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;
While(i++<7) //当i=i+1小于7时,执行循环,所以一开始i=0+1=1
if(p[i]%2) //如果 p[1],p[2],p[3],p[4],p[5],p[6],p[7]能被2整除,执行下一条语句
j+=p[i]; // 所以从p[1]~p[7]能被2整除的是13,15,17,三者相加=45
printf("%d\n",j);
}
展开全部
vs2008上运行了,你的括号全是中文括号。
结果是45
if(p[i]%2) 意思是 p[i]是奇数的时候, 加到j上去。
但是 主意while里是i++所以 第一个元素p[0]虽然是奇数。
但是没有加到j上去。明白了?
结果是45
if(p[i]%2) 意思是 p[i]是奇数的时候, 加到j上去。
但是 主意while里是i++所以 第一个元素p[0]虽然是奇数。
但是没有加到j上去。明白了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一次进入循环的时候,i的值为0,先与7比较,0小于7,为真,然后i自加,这时为1,后面
p[1]为12了
我觉得龙辰888没有明白i++与++i的区别。前者先用后加,后者先加后用。
p[1]为12了
我觉得龙辰888没有明白i++与++i的区别。前者先用后加,后者先加后用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询