#include<stdio.h>
int main()
{
int sum[100]={};
int n;
printf("please input a number aim to n!\n");
scanf("%d",&n);
int i,j,m=1,temp=0;
//i,j循环变量,temp进位标志,m代表数组长度
sum[0]=1;
for(i=1;i<=n;i++)
{
//用到的每一位与i相乘
for(j=0;j<m;j++){
sum[j]*=i;
}
//判断进位
for(j=0;j<m;j++){
if(sum[j]>=10){
temp=sum[j]/10;
sum[j]%=10;
sum[j+1]+=temp;
}
}
if(sum[j]!=0) m++;//记录数组长度
}
printf("n的阶乘为:");
for(i=m-1;i>=0;i--) printf("%d ",sum[i]);
return 0;
}
用数组存储n的阶乘
最新推荐文章于 2022-03-04 20:07:41 发布