C语言初学 循环有问题
作者&投稿:枞泊 (若有异议请与网页底部的电邮联系)
嗯,看了你的程序一下
fabs是求浮点的绝对值,|x|,x为正就输出-x
z=x/y;
while(1)就肯定为真的
执行if,从键盘输入3.6 ,2.4之后
z=3.6/2.4=1.5
求绝对值,fabs(z)=1.5>1.0 if为真
执行x=y;y=z;z=x/y;
x=2.4,y=1.5;z=2.4/1.5
当然结果要求输出y,且小数位为6位的实型
所以结果是y=1.500000
循环开始的时候n是等于1的呀,第一次循环结束的时候n就会等于2,如果你吧初值赋成2的话,那么第一次循环结束之后n就会为4,
初值是1的时候2也会符合条件的..所以会多出来..
7、在for(j=0;j<3;j++){
if(j%2) continue; x++
}每次i循环时,都循环两次,相当于
for(j=0;j<3;j++)
if(j%2==1)
contin;
else
x++;
加每次小循环前后的自加,相当于每次i循环x都自加四次,i一共循环两次,所以答案为x=8
8、(1)x=1,y=1,执行x+=5;(x=6)
(2)x=6,y=2,执行x-=3;
(3)x=3,y=3,执行x+=5;
(4)x=8,y=4, 执行x-=3;
(5)x=5,y=5, 执行x+=5;
(6)x=10,y=6,执行if(x>=10) break;跳出循环,y不再自加
所以最终答案是y=6。
break是指跳出循环,不再循环。
contin指跳过当前循环,执行下一次循环
7.j那个循环x++会执行两次,加上外面的两次,总共4次
i那个循环会执行2次,所以是8
8.
x为奇数时,x加5
x为偶数时,x减3
1+5-3+5-3+5=10,共6次
你怎么不明白呢?
我给你讲讲试试看你能听懂不:
7.for循环开始
i=0;
执行x++ x=1
继续执行,内部循环开始
当j=0和j=2时,都执行一次x++;
x=3
内部循环结束
执行下边的x++
x=4
外部循环i=0结束;
开始下一次外部循环
i=1
此次循环和上次一样
当这次循环结束时x=8
这时i=2,跳出外部循环
打印结果x=8
选B
8.循环开始,第一行执行后y=2
执行第二行时,条件不满足
执行第三行满足条件
所以执行第四行x=x+5
所以x=6 continue
x=x-3 所以x=3
返回第一行
执行后y=3
执行过程同第一次,这次执行后x=5
再执行第一行 ,y又加1
如此反复 当x=11是
第二行条件满足执行break
跳出程序
这时y=6 选择C
希望你能看懂,要是语音讲解效果会更好的
曾骅亿活: D 是从 1+2...+101 因为当i=100的时候 i++ 了现在i=101了 其他的都是1+2...+100
印江土家族苗族自治县14728716209: C语言循环问题出错,求解答 - ?
曾骅亿活: 你这个循环每次的原始值未从新赋值,应在 for(;;) { 下面加上total=0.0;count=0; 还有你这个scanf("%c",&answer);从键盘读入字符的时候没有加个空格,以便缓冲上一个字符.改后的的程序为#include #include void main() { char ...
印江土家族苗族自治县14728716209: 怎么解决C语言的循环问题 ??
曾骅亿活: 实现循环的方法目前知道5种:循环语句循环(do while,while,for) 、if+goto循环、函数递归法循环、函数的指针法循环,修改寄存器法循环.循环问题归根结底是程序结构执行控制的问题.
印江土家族苗族自治县14728716209: C语言循环问题?
曾骅亿活: 这个是缓冲区问题,你输入的字符并不是直接赋值给字符型变量st 他首先会放在缓冲区,然后再送如内存!这里有一点你要明白,你按下的回车键也是一个字符“CR”,所以,他也在缓冲区.当你输入y之后,循环会继续,但是,你按下的回车...
印江土家族苗族自治县14728716209: C语言初学 循环有问题?
曾骅亿活: 8.经过if,n1=a=8,n2=b=12;8%12=8=>t, 12=>a, 8=>b; 12%8=4=>t, 8=>a, 4=>b; 8%4=0=>t, 4=>a, 0=>b(此时结束循环),输出为a=4,n1*n2/a=8*12/4=24 ps:这题直接验证答案8*12/a来做选择题会快很多,8*12/2!=6,8*12/4=24,8*12/8!=96 好饿,还是吃了饭再说其他,昨晚已经答了两题,干脆一次性全贴出来吧
印江土家族苗族自治县14728716209: C语言初学 循环 有4个选择题 问题?
曾骅亿活: 第6题:for循环语句到printf这条语句结束,所以造成死循环(这两条语句应该用个{}括起来) 第8题:第一个for打印一个*,到第二个for(j<4-i)条件不满足执行printf("\n")然后执行第二轮循环 第4题:当输入6时,x++就等于7>5,所以打印x,当输入4是,x++等于5>5不成立,打印x--; 第5题:第一轮循环先打印x,y再执行x--,再执行++1==1再赋给y,再执行第二轮循环,x=9,y=1
印江土家族苗族自治县14728716209: C语言 循环部分出错 - ?
曾骅亿活: //我理解就是这个系列:1,2,3,5,8,13,21,......#include#include int main(){ int i,m,a1,a2,a; a1=1; a2=2; scanf("%d",...
印江土家族苗族自治县14728716209: 跟C语言循环有关的问题~~~大侠指教~ - ?
曾骅亿活: 1,在c语言中分号代表一个语句的结束,这里while语句后面直接就加分号,表示循环体为空,只是不停地在进行自加.所以当满足条件的时候,即k=11的时候,就跳出循环了.这里还要注意k++与++k的区别哦.2,这里的循环次数应该是3次....
印江土家族苗族自治县14728716209: c语言while循环的问题 - ?
曾骅亿活: while循环是对while括号后面的表达式进行真假的判断,,比如你用的a,C语言中有这样的规定,如果a=0;那么a 表达的就是假,如果a不为0,那么他表示的是真,因此,上面的循环,只要a不等于0,那么循环就一直进行 刚开始学的时候,我一...
印江土家族苗族自治县14728716209: C语言循环的问题?
曾骅亿活: 第一个问你,你的疑惑是break后为什么会输出A吧? 应为这个break 打断的是switch 不是for 所以break后循环还继续! 第二个问题,要知道结果直接运行输出,要知道过程,在编译器里单步调试,6次循环不多! 在编译器里单步调试不就清楚了...