求助:C语言中用do while循环编写计算阶乘的程序~
没问题啊,将 printf("%.0f
", n); 改成 printf("%e
", n); 就不会显示太多的数字了
#include#include
int main(){ double n = 1;
int i;
for (i = 2; i <= 100; i++) { n *= i; } printf("%e
", n);
system("pause"); //避免窗口一闪而退 return 0;}
#include#include
int main(){ double n = 1;
int i = 1;
while(i <= 100) { n *= i;
i++; } printf("%e
", n);
system("pause"); //避免窗口一闪而退 return 0;}
#include#include#include#includeusing namespace std;const int MAXN=510;char re[MAXN];struct Big{int s[MAXN],len;Big():len(1){memset(s,0,sizeof(s));}void read(){scanf("%s",re);int n=strlen(re);len=(n-1)/4+1;int x=len,k=0;while('0'=1;--i){if(i!=len)printf("%04d",s[i]);else printf("%d",s[i]);}}Big& operator +=(Big &a){int n=max(a.len,len);for(int i=1;i=1;--i)if(a.s[i]!=b.s[i])return a.s[i]<b.s[i];return false;}Big operator * (Big &a,Big &b){Big c=a;return c*=b;}Big operator + (Big &a,Big &b){Big c=a;return c+=b;}int main(){Big sum,x,i,dz,lim;dz.s[1]=i.s[1]=x.s[1]=1;lim.s[1]=101;for(;i<lim;i+=dz)sum+=x*=i;//从右往左运算,相当于x=x*i;sum=sum+x;sum.print();}楼上用int的,自然溢出运行出来应该会是负数或者0.....题主以后如果出阶乘题数据要小
运行结果:
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);
}
#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;
}
#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;
}
main()
{
int n,i,result;
scanf("%d",&n);
result=1;
i=1;
do
{
result*=i;
i++;
}while(i<=n);
printf("%d\n",result);
}
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)
}