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?错在哪里? 展开
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?错在哪里? 展开
4个回答
展开全部
你把判断ai是不是偶数放在了判断是否循环的条件上,同时你的a0是3为奇数,你的循环根本就没进行,sum=0了啊。把判断偶数放在循环体里就好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
当i=1时,循环就结束了,SUM只加了一次,
把取余的条件放入循环体中去,用条件判断余数为0时sum自加,这样试试
把取余的条件放入循环体中去,用条件判断余数为0时sum自加,这样试试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成这样
#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++),循环一次就结束,因为第一不符合跳出循环了。
#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++),循环一次就结束,因为第一不符合跳出循环了。
追问
谢谢~但是不能才能两个答案,不好意思~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
for(i=0;(i<10)&&(a[i]%2==0);i++)
这句话执行到i=0,a[0]%2=3%2=1,
已经不符合条件,直接跳出来了。
所以sun里边只有初值0.
这句话执行到i=0,a[0]%2=3%2=1,
已经不符合条件,直接跳出来了。
所以sun里边只有初值0.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询