求助:C语言中用do while循环编写计算阶乘的程序~

具体要求是这样的:
提示用户输入一个小于等于10的整数n
计算n!

用 do while 循环实现。
我是新手,希望不要写太复杂的程序,怕看不懂。。呵呵,谢谢大家~
还要求如果用户输入了其他数字或字母。符号,提示用户重新输入。

#include<stdio.h>
void main()
{
int i=1,j=0,k=10;//i是每次的自然数自增1,j是每次相乘后的结果统计,k是你想要输入的数字
printf("请输入一个数字");
scanf("%d",&k);
do
{
j=j*i;
i++;
}while(i<=k);
printf("%d\n",j);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-01-05
#include <iostream>
using namespace std;
int main()
{
int i,n,f=1,k;
next:
cout<<"请输出n!中的n";
cin>>n;
k=n;
if(n>10||n<1)
{
cout<<"输入错误,请重新输入"<<endl;
goto next;
}
do
{
f*=n;
n--;
}while(n!=0);
cout<<k<<"!="<<f<<endl;
return 0;
}
第2个回答  2008-01-05
#include"stdio.h"
#include"math.h"
int fuc(int n);
main()
{
int n,result;
fuc(0)==1;
fuc(1)==1;
printf("Please input number(<10);");
scanf("%d",&n);
while(n>=10)
{
printf(Input Error!please input again:);
scanf("%d",&n);

}

do
{
fuc(n);
n--;
}while(n!=1);
result=fuc(n);
printf("\nresult is:%d",result);
system("pause");
}
int fuc(int n)
{
int k;
fuc(n)==n*fuc(n-1);
k=fuc(n);
return k;
}
第3个回答  2008-01-05
main()
{
int n,i,result;
scanf("%d",&n);
result=1;
i=1;
do
{
result*=i;
i++;
}while(i<=n);
printf("%d\n",result);
}
第4个回答  2008-01-05
main()
{
int n,i,f;
scanf("pls input 0~9 %d",&n);
f=1;
i=1;
do
f=f*i;
i++;
while(i<=n)
pritf("n!=%d";f)
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网