C语言do while不明白,求助!!!

来源:百度知道 编辑:UC知道 时间:2024/05/31 01:16:10
编写程序,使用do_while语句计算1*2*3…..*n的值,n由用户给定

因为我才学了几天,请用初级的方法写这程序.谢谢!

我还不太明白do while 怎么用,希望写完程序给我讲解一下.

没多少分送上,谢谢谢谢!

main()
{
int sum=1,i=1,n;

scanf("%d",&n);/* 用户输入n */

do
{
sum*=i;/* 等价于sum=sum*i */
i++;
}while(i<=n);

printf("%d",sum);/* 输出总和sum */
}

do-while是循环的一种,表示满足while()括号里的条件时循环执行do里的内容,直到while()括号里的条件不成立。它和while()循环和不同在于do-while必定执行一次do{}里的内容,因为它是先执行后判断;而while()循环先判断后执行,可以不执行循环体语句。
本例中当i<=n时循环执行do{}里的内容。
假设n=3,第一次sum=1,i=1,则sum=1*1=1;第二次循环sum=1*i=1*2(因为i=2了);第三次sum=1*2*3(i=3),这样就是1*2*...*N的和的求法。当然也可以用for()循环和while()循环来改写,算法思路是一样的。for()循环相对简单

main()
{
int sum=1,i=1,n;

scanf("%d",&n);

for(i=1;i<=n;i++)
{
sum*=i;
}
printf("%d",sum);
}

while()型:
main()
{
int sum=1,i=1,n;

scanf("%d",&n);

while(i<=n)
{
sum*=i;
i++;
}
printf("%d",sum);
}

#include <stdio.h>
void m