C高手解释一下!

来源:百度知道 编辑:UC知道 时间:2024/09/23 07:20:34
最近看到以个C程序是这样的
计算n!(n=5)用(do-weile)语句
设n为数列项变量和循环控制变量t为累乘积变量
设定初始值;n=1,t=1循环条件
n<=5;n=1.2......5.
#include"tdio.h"
{
int n,t;
n=1;
t=1;
do{
t=t*n;
n++
}while(n<=5)
pintf("t=%d\n",t);
}
运行后t=120
我是刚学的不怎么懂
大家解释一下详细点
谢谢了

#include"tdio.h"
{
int n,t;
n=1;
t=1;
do{ //先做一次循环;
t=t*n;
n++
}while(n<=5) //当n<=5时,执行循环;
pintf("t=%d\n",t);
}

第一次循环:t=t*n=1;n++;n=2;
第二次循环:t=t*n=2;n++;n=3
第三次循环:t=t*n=6;n++;n=4
第四次循环:t=t*n=24;n++;n=5
第五次循环:t=t*n=120;n++;n=6
n=6>5;退出循环;即 t=120;

因为你初始化N和T都为1,设置了循环条件是N《=5,循环体里面执行N++,这个就是说,一共循环了5次,以N《=5作为循环次数!
如果还不懂的化,回消息给我

n<=5;n=1.2......5.
#include"tdio.h"
{
int n,t;
n=1;
t=1;
do{
t=t*n; //需要解释的就是这点,
n++
}while(n<=5)
pintf("t=%d\n",t);
}
当第一次进入的时候就是t=1*1;第二次t为1,n为2;所以t=1*2;
三次为2*3;四次6*4;五次24*5;这个时候n=5,不能再循环了,所以跳出结果为120
do-while结构是一直运行到while括号中的条件为假的时候
其实你模拟一下总的运算过程就是
((((1*1)*2)*3)*4)*5

66

就一直循环直到n 大于5为止,就是1*2*3*4*5=120,知道了吗

上面的回答都对