c语言while()循环的问题,请各位大神将详细步骤说明一下。。。

2024-12-03 21:46:03
推荐回答(5个)
回答1:

工程2 答案为54是因为你用了++n,注意是n自增之后再判断循环是否继续。
从n=1开始分析,n=1时,n自增为2,此时sum=0+2=2;
n=2时,n自增为3,此时sum=2+3=5;
n=3时,n自增为4,此时sum=5+4=9;
n=4时,n自增为5,此时sum=9+5=14;
n=5时,n自增为6,此时sum=14+6=20;
n=6时,n自增为7,此时sum=20+7=27;
n=7时,n自增为8,此时sum=27+8=35;
n=8时,n自增为9,此时sum=35+9=44;
n=9时,n自增为10,此时sum=44+10=54;
n=10时,n自增为11,不符合循环继续的条件,循环结束。
故sum=54。

回答2:

工程2其实只加了2-9,1和10都没加
因为 n是先加后运算,所以while里第一次的n是2
n为10时,自加就会变到11。while为假不执行。所以10也没加进去,所以总和为65-1-11=54

回答3:

我觉得你可能打错了while (n<=100) 应该是n<=10吧
++n是先加一再拿来用

n++是用了再加一所以第二个是因为当n=10后 加一在进行判断然后没有进入加十一的循环,而第一个是判断是否能进入加十一的循环后,才会进行加一的操作的

回答4:

第一个的答案为55,第二个为54。显然第一个从1加到10,第二个从二加到10;这儿主要是n++,与++n的关系。你的第一个while(n<=10)如果写成while(n++<=10)结果还会不一样,此时结果为65。我给你讲讲结果为65的吧:n=1判断n++是否大于10(此时n++的为1(先取后加)),不大于,n变成了2,然后执行sum+=n,sum=0+2=2……当n=10时,
while(n++<=10)成立,判断后n变成11,然后sum+=n,sum=2+3+~~~~+11=65。
而while(++n<=10)当n=10时,++n为11,条件不成立。所以sum=1+2+~~~~+10=55

回答5:

第一个是5050 - -然后这个和while没关系- -因为第一个是1+2+3+4+。。。+100=5050
第2个while (++n<=10),那么就是先运行++n,n=2,然后再从2开始循环
就是2+3+4+5+。。。+10=54