当前位置: 代码迷 >> C语言 >> 偶刚学C语言,循环实在搞不清楚如何判断
  详细解决方案

偶刚学C语言,循环实在搞不清楚如何判断

热度:290   发布时间:2006-10-04 16:49:41.0
偶刚学C语言,循环实在搞不清楚如何判断
比如while, 如何判断表达式,一道题目看例子可以看出为什么.但是换到自己写就不知道到底要判断什么为真,什么为假.就象最简单的,输入一个数求乘阶.n=1*2*3.....*n,根本不了解while中判断什么,for中要判断什么!大家帮帮忙了~~~~~帮偶整理一下思路
搜索更多相关的解决方案: C语言  判断  思路  例子  

----------------解决方案--------------------------------------------------------
偶不是要答案,而是要理解为什么要怎么判断,碰到各种题目是否有一个共同的思路,求求各位帮忙.~这是书上最简单的一道例题而已,答案早有了~~
----------------解决方案--------------------------------------------------------

个人认为:循环里的判断是判断你所要的循环体执行的次数,比如n=1*2*3.....*n,循环体得执行n次所以就得写成i<=n(i从1开始到10才执行10次,若i从0开始,就执行到9,这样刚好也是10次,本题i不能从1开始所以必须写成i<=n)


----------------解决方案--------------------------------------------------------

看了三楼的还是不懂,你所说的i代表什么?n又代表什么?这题目比较简单一眼也能看出结果.每次只要n=n*(n+1)就可以了!但是如果再难一点怎么办,还是不理解思路,最好能举个例子表达一下共同点,谢谢了,因为刚刚学习,思路实在转不过来.看别人题目可以看懂自己写根本不知道从哪里开始,从一开始要定义几个变量都搞不清楚.谢谢各位帮帮忙了~~~


----------------解决方案--------------------------------------------------------
循环的结构你一定可以掌握吧!
作题目要先知道算法才可以知道循环中变量的范围
这个就不好说了 因为没个题目都有不同的算法
while 循环和for循环有点区别是
前者一般用在不知道要循环多少次的情况下
而后者一般用在知道循环次数的时候
当然有的时候两者可以等同使用 效果一样
----------------解决方案--------------------------------------------------------
i是每次增加的变量,设n=10得话,i的增长一旦超过10,i&lt;n,这个式子为假,就退出循环,你所要做的事情就是该怎么退出循环,而又能完成你循环的目的。复杂的例子今天没时间写了,明天贴给你,如果有那位大虾愿意的话,请你们贴个上来,我要下了,真不好意思。可能你还不明白,让我今晚好好想一下!
----------------解决方案--------------------------------------------------------

看书了嘛 应该有很清晰的讲解把

while 和for 都是处理循环的关键字

while(条件语句)
{循环体}

条件语句是指如果满足某个条件则进入循环体,某个条件都是个人根据循环体里的出口条件设置的(因为不能无限的循环必须有出来的时候),如
while(1>0) //如果1>0就进入循环体,这肯定是一个死循环,因为没有出口条件,1永远都大于0的,所有这种条件是无意义的


循环体里放的是你想循环的内容,如
求这个序列的结果sum=1*2*3*...*n

你会分析到没项是在前一项的基础上增加的,可以设每项为x 那么下一项不就是x+1了吗

上述式子等价于sum=x*(x+1)*(x+2)*...*(x+n-1)

现在考虑的问题就可以放倒循环中了每次循环都让x的值加1然后于与x的前一项乘即可,设置x初值为1,sum初值为1

while(条件语句)
{sum=sum*x;
x=x+1;}
分析:首次进入循环sum=1*1=1 然后x=1+1=2
下次循环:sum=sum*x=1*2=2 然后x=2+1=3
下次:sum=2*3=6 然后x=3+1=4
... ...

这样下去肯定是无止境的,所以要确定一个出口条件,当x为n时就可以出去了
n可以由你确定,如

sum=1*2*3*4 这里n就是4

所以完整的循环结构为
while(x<=4)
{
sum=sum*x;
x=x+1;
}//当x增加到>4的时候不满足x<=4所有不能进入循环体代表循环的结束


for 的循环思想也是相同的 只是执行的顺序有要求,如果你看懂while的工作过程for应该自己可以理解吧


----------------解决方案--------------------------------------------------------

谢谢各位了!!


----------------解决方案--------------------------------------------------------