主题:C/C++每日一练2011/4/14
今天的题目考大家对while循环的掌握情况。老规矩,不看回复,不运行,只准思考。
正确答案以及分析回复可见。。C/C++每日一练2011/4/12
本帖隐藏的内容
正确答案是B:45
答错的人不少,一起来分析下.
i初始值为0
While(i++ < 7)首先判断i是否小于7,然后i加1;
i为0显然小于7,然后i加1变成1进入while循环。
If (p %2) 这语句的意思是如果p%2不等于0,也就是为真,if条件才成立。等于0则不循环,换句话说,也就是当p的值是偶数时,if条件不成立,奇数时成立。
现在i的值为1,p[1]等于12. If条件不成立,不执行j+=p;
第二次while循环,i为1<7成立,i加1为2,进入循环,判断p[2]等于13,所以if条件成立,把这个值加到j上。
因此j=p[2]+p[4]+p[6]等于45;
int main()
{
int p[8]={11, 12, 13, 14, 15, 16, 17, 18};
int i = 0, j = 0;
while (i++ < 7)
{
if (p[i] % 2)
{
j += p[i];
}
}
printf("%d\n", j);
//C++ cout << j << endl;
return 0;
}
复制代码
本文摘自: 编程十万个为什么(http://www.bcwhy.com) 详细出处请参考:http://www.bcwhy.com/thread-1788-1-1.html
正确答案以及分析回复可见。。C/C++每日一练2011/4/12
本帖隐藏的内容
正确答案是B:45
答错的人不少,一起来分析下.
i初始值为0
While(i++ < 7)首先判断i是否小于7,然后i加1;
i为0显然小于7,然后i加1变成1进入while循环。
If (p %2) 这语句的意思是如果p%2不等于0,也就是为真,if条件才成立。等于0则不循环,换句话说,也就是当p的值是偶数时,if条件不成立,奇数时成立。
现在i的值为1,p[1]等于12. If条件不成立,不执行j+=p;
第二次while循环,i为1<7成立,i加1为2,进入循环,判断p[2]等于13,所以if条件成立,把这个值加到j上。
因此j=p[2]+p[4]+p[6]等于45;
int main()
{
int p[8]={11, 12, 13, 14, 15, 16, 17, 18};
int i = 0, j = 0;
while (i++ < 7)
{
if (p[i] % 2)
{
j += p[i];
}
}
printf("%d\n", j);
//C++ cout << j << endl;
return 0;
}
复制代码
本文摘自: 编程十万个为什么(http://www.bcwhy.com) 详细出处请参考:http://www.bcwhy.com/thread-1788-1-1.html