中石化油卡在哪里圈存:c语言问题

来源:百度文库 编辑:高校问答 时间:2024/05/07 17:08:12
main()
{int a,b;
for(a=1,b=1;a<=100;a++)
{if(b>=20) break;
if(b%3==1)
{b+=3;
continue;
}
b-=5;
}
}
执行后a的值为多少? 解释一下 谢谢

a=8
这个程序的意思是每次a+1,b+3,当b>20时结束
b-=5没有用处.因为每次b+3后b%3的余数都是1
先是a加了6次,a=7;b加了6次,b=22;
然后a又在for里加了一次,然后b>20了,所以结束循环
此时a是8

a=8

8
if(b>=20) break; 这句是判断循环结束的 当b>=20就结束.

if(b%3==1) {b+=3; continue; } 这句是判断b对3取余是否为1 是就b=b+3;然后继续循环.

所以b=1,4,7,10,13,16,19,22.当b>=20了 所以结束循环 一共8次 a=8.