int sum=0;
for(a=1;a<=50;a++){
while(a%2==0){
sum=sum+a;
}
}
3 回答
已采纳

hanian
TA贡献2条经验 获得超2个赞
将while改成if即可,while是循环语句的关键词,条件满足的话,会执行大括号里的语句,接着返回while里的判断条件,如果满足,再次执行,而if则是只判断一次

Davidham3
TA贡献8条经验 获得超0个赞
当a等于2时,a%2==0为True,将会一直执行sum = sum + a,导致程序死循环。应将while(a % 2 ==0) 改为 if( a % 2 ==0)

乔帮主
TA贡献184条经验 获得超67个赞
int sum=0;
for(a=1;a<=50;a++){
while(a%2==0){
sum=sum+a;
}
}
这里改成
if(a%2==0){
sum=sum+a;
}
这样才行!
添加回答
举报
0/150
提交
取消