标题:关于while
只看楼主
haining0718
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-10-25
 问题点数:0 回复次数:5 
关于while

这个程序是那个叫什么连续+的
#include <stdio.h>

void main()
{
int a;
int b=0;
printf("\n请输入一个数:");
scanf("%d",&a);
if(a>0){
while(a>0){
b=b+a;
a=a-1;
}
printf("\n 和为:%d\n",b);
}else
printf("无效\n");
}

其中while那里我有点晕,请高手指点一二!麻烦说的细一点好么,谢谢!

搜索更多相关主题的帖子: printf void else main include 
2006-11-07 15:10
jackdevil
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2006-10-26
得分:0 
输入1的话 while里面运算的方式是b=0+1,a=1-1,结果b=1,a=0 然后判断while(a>0)不符合条件 ,跳出循环,最后输出结果是1
输入2的话 while里面运算的方式是b=0+2,a=2-1,结果b=2,a=1 然后判断while(a>0)符合条件 ,执行下一次循环运算的方式是b=2+1,a=1-1,结果b=3,a=0 ,然后判断while(a>0)不符合条件,最后输出结果是3
2006-11-07 15:21
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
得分:0 
while(a>0){
b=b+a;
a=a-1;
}
循环要结束,一定使得a>0不成立,当然在这里使得不成立的第一个数是a==0.
这个程序就是说,a被减了多少次就会被加多少次,同时b也在加.
假设:a=3,b=3;
1,a=3>0--->b=3+3=6;a=a-1=3-1=2
2.a=2>0--->b=6+2=8;a=a-1=2-1=1;
3.a=1>0--->b=8+1=9:a=a-1=1-1=0
4.a=0==0跳出循环,结束,输出9

倚天照海花无数,流水高山心自知。
2006-11-07 15:47
C语言学习者
Rank: 4
等 级:贵宾
威 望:13
帖 子:1278
专家分:0
注 册:2006-9-26
得分:0 
while()里面,是条件判断,为真执行{}话句,否则不执行{}里话句。

谁有强殖装甲第二部,可以Q我460054868
2006-11-07 16:35
haining0718
Rank: 1
等 级:新手上路
帖 子:49
专家分:0
注 册:2006-10-25
得分:0 

那我的题循环那里就是:b=b+a;a=a-1;循环开始就是: b=4,a=4-1然后3>0执行b=4+(4-1),a=3-1,然后b=(4+3)+2,a=2-1再然后b=(7+2)+1,a=1-1,然后a>0就不成立了,我这想法对么?


上联:说你行你就行不行也行 下联:说不行就不行行也不行 横批:不服不行
2006-11-07 16:45
jqbbccn
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2006-10-17
得分:0 
以下是引用nuciewth在2006-11-7 15:47:44的发言:
while(a>0){
b=b+a;
a=a-1;
}
首先输入a值,做while循环,直到a<=0结束
假设:a输入3
1,a=3>0--->b=0+3=3;a=a-1=3-1=2
2.a=2>0--->b=3+2=5;a=a-1=2-1=1;
3.a=1>0--->b=5+1=6:a=a-1=1-1=0
4.a=0==0跳出循环,结束,输出b=6 <------------------程序求的是1加到a的和~ =。=!


2006-11-07 17:03



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-101283-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.287931 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved