求程序的输出结果 main() {int a,b; for(a=1,b=1;a<=10;a++) { if(b%3==1) {b+=3; continue;} b-=5;}}

 我来答
L_o_o_n_i_e
2011-09-13 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5083万
展开全部
最终 b=31.
循环开始,a 初值1,b 初值 1。
循环控制变量是 a,共循环 10 次。
第一次循环 b=1; b%3 得 1, if(b%3==1) 条件成立,做 b+=3, b 变 4 ,continue 则跳到下次循环开始,不执行 b-=5;
第二次循环 b=4; b%3 得 1,做 b+=3, b 变 7, continue 则跳到下次循环开始,
由于每次循环 b%3 == 1 条件都成立,所以 b 每次加3
循环 10 次, b 加3 共 10 次。
最终 b 为 1 + 3 * 10 得 31
jingjing2517
2011-09-13 · TA获得超过167个赞
知道答主
回答量:253
采纳率:0%
帮助的人:150万
展开全部
个人认为这个程序考察的应该是continue和break的区别。
就按照你这个程序来说,最终在屏幕上不会有任何显示结果,但是程序中的两个变量a 以及b是发生了变化,你的这个程序b -= 5这个语句压根就不会执行的啊,因为你b 的初始值为1 正好满足
b %3 == 1,而满足这个条件之后,b采取的操作都是 b += 3,然后执行continue,即跳出此次循环,执行下一次循环,(这和break不一样,break是直接取消循环的执行)。最终,b += 3执行了十次,即b最终的值是 31, 而a的值是 11
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
章顺新
2011-09-13 · 超过11用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:28.7万
展开全部
a的值为11,b的值为31
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
My空心果
2011-09-13 · TA获得超过1290个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:615万
展开全部
加个输出语句:printf("b=%d",b);
输出结果:b=31
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庾亦云u1
2020-12-16
知道答主
回答量:1
采纳率:0%
帮助的人:526
展开全部
#include<studio.h>
int main()
{
inta,b=9;
while(a=b-1)
{
b-=3;
if(b%5==0)
{
a++;
continue;
}
else if(b<5)
break;
a++;
}
printf ("%d,%d\n",a,b);
return 0;
}
求详解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式