首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

麻烦讲讲这题如何做

2013-07-01 
麻烦讲讲这题怎么做啊main(){int p[7]{11,13,14,15,16,17,18}, i0,k0while(i7&&p[i]%3) {k k+ p[i]

麻烦讲讲这题怎么做啊
main(  )
{
int p[7]={11,13,14,15,16,17,18}, i=0,k=0;
while(i<7&&p[i]%3) 
{
k =k+ p[i]; i++; 
}
printf("%d\n", k); 
}
执行后输出结果是( ) (2分)
A.58  
B.53  
C.38  
D.24  

[解决办法]
while(i<7&&p[i]%3) 
i<7以保证不越界,配合i++,为遍历数组。
p[i]%3相当于(p[i] % 3 != 0),也就是p[i]不能被3整除。

整个条件含义就是:找到第一个能被3整除的数据,对它前面的数据进行处理
k = k + p[i];
说明处理方式为求和。
所以,结果应为:
11 + 13 + 14
[解决办法]
到15%3 == 0所以到15的时候不满足了,结果是11+13+14

热点排行