C++有关数组的简单题目!急~~~

#include<iostream>usingnamespacestd;voidmain(){inta[10]={3,2,6,8,7,4,5,10,12,11};ints... #include <iostream>
using namespace std;
void main()
{
int a[10]={3,2,6,8,7,4,5,10,12,11};
int sum=0,i;
for(i=0;(i<10)&&(a[i]%2==0);i++)
sum=sum+a[i];
cout<<"sum="<<sum<<endl;
}

最后输出“sun=0”,为什么不是42?错在哪里?
展开
 我来答
百度网友eeb7295
2013-12-12
知道答主
回答量:15
采纳率:0%
帮助的人:15.3万
展开全部
你把判断ai是不是偶数放在了判断是否循环的条件上,同时你的a0是3为奇数,你的循环根本就没进行,sum=0了啊。把判断偶数放在循环体里就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友3db1075
2013-12-12 · 超过14用户采纳过TA的回答
知道答主
回答量:35
采纳率:100%
帮助的人:23.1万
展开全部
当i=1时,循环就结束了,SUM只加了一次,
把取余的条件放入循环体中去,用条件判断余数为0时sum自加,这样试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhaoqingran
2013-12-12
知道答主
回答量:30
采纳率:0%
帮助的人:7.4万
展开全部
改成这样
#include <iostream>
using namespace std;
int main()
{
int a[10]={3,2,6,8,7,4,5,10,12,11};
int sum=0,i;
for(i=0;i<10;i++)
{
if(a[i]%2 == 0)
{
sum=sum+a[i];
cout << a[i] << endl;
}
}
cout<<"sum="<<sum<<endl;
return 0;
}

原来的for(i=0;(i<10)&&(a[i]%2==0);i++),循环一次就结束,因为第一不符合跳出循环了。
追问
谢谢~但是不能才能两个答案,不好意思~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
geniepengsz
2013-12-12 · TA获得超过2万个赞
知道大有可为答主
回答量:1.2万
采纳率:97%
帮助的人:2329万
展开全部
for(i=0;(i<10)&&(a[i]%2==0);i++)
这句话执行到i=0,a[0]%2=3%2=1,
已经不符合条件,直接跳出来了。
所以sun里边只有初值0.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式