永发信息网

c语言问题 帮忙

答案:4  悬赏:50  手机版
解决时间 2021-04-25 05:14

int i,x;

for(i=1,x=1;i<=20;i++)

{

if(x>=10) break;

if(x%2==1)

{x+=5;continue;

}

x-=3;

}

求 x值 与i值 要详解 谢谢啦!!!

最佳答案

i=1,(x%2=1).x=1+5=6


i=2,(x%2=0),x=6-3=3


i=3,(x%2=1),x=3+5= 8


i=4,(x%2=0),x=8-3= 5


i=5,(x%2=1),x=5+5= 10


i=6,(x>=10)退出循环

全部回答

最后结果x=10; i=6

一开始输入x=1,i=1进入循环,然后执行if(x%2==1),x=6,推到循环开始i=2,x=6执行if(x>=10)后,

x=3瑞出循环,一次类推,最后得出结果x=10,i=6

for(i=1,x=1;i<=20;i++) //i从1到20的循环

if(x>=10) break; //当i大于等于10的时候,跳出循环

if(x%2==1) //当x为单数的时候,执行大括号里的语句,如果为偶数,直接执行x-=3

x+=5;continue; //x的值+5,然后跳过该循环执行下面语句

x-=3; //x的值减去3

这种问题最好不要直接问结果的值是多少,对于程序来说值不重要,因为你给的条件一改变结果就会改变,你最好是知道它的原理或流程。

这段代码的意思如下:

首先是一个for循环,这里就应该想到,如果对于这个循环没有特别原因的话,这个for循环就会循环二十次。

然后看循环体里面,首先是一个if判断语句,它的意思就是如果x大于或等于10的话,它就会直接跳出循环,也就是循环体里在break之后的语句就不会在执行了。

后面又是一个if判断,这里是说如果x对2取模等于1的话执行if判断体里的语句,也就是说如果x是奇数执行if体里的语句(因为一个数除以2余数只有一个,那就是1,所以为1的话就说明这个数为奇数),对于if体里的语句,首先就是x+=5,就等于x=x+5,意思就是x自加5。然后就是continue,与break类似,它不是跳出循环,而是仅continue后的语句不执行,而结束本次循环跳到循环体开始,继续执行。

然后两次判断就是一个x自减3的操作x-=3。

最后你可以自己画一个流程图,按照流程图把代码走一遍,自己预测一下结果,有时间自己在电脑上运行一下,看一下结果于自己预料的是否一样。

学会看源码是非常重要的,楼主自己再想一想吧。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
陆游跟王维的区别、 比较
DNF怎么点图标啊!?
团队任务做了怎么不算?
收音机那个频段哪个时间段有比较经典的英语广
男1989腊月女1986正月今年那天结婚合适
Q宠怎样可以升级?
哪首粤语歌好听?
空间更新了 心情的表情怎么添加啊?
零度车饰界怎么去啊,有知道地址的么
若基亚5300一个多少钱
诺基亚C6支持什么格式的音乐
初一理综包括哪几科?
如何有感情的演讲一篇演讲稿?
抽烟时发现里面装了100元钱怎么办?
DNF角色盗贼的性别是男是女
推荐资讯
QQ宝贝卧室怎么装扮漂亮?
甲醛中氧的轨道杂化形式是什么?
求梦幻西游全部的科举题目和答案或给我网址也
全身血管明显身上容易黑青和无故黑青?
延长线段ab至点c,使bc=1分之3ab,点d是线段a
非机动车撞人事故,杭州医保能参加医疗保修吗
怎么才能变温柔?
头发一直掉,怎么办?
地下城咋点亮图标
二次函数的例题
林晨的dog吗?
求1993年阳历12月14是阴历几号
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?