首页 > 编程知识 正文

c++100的阶乘,c语言算100的阶乘

时间:2023-05-06 15:45:03 阅读:272526 作者:1163

匿名用户

1级

2006-11-07 回答

#define MAXLEN 300/*假设做的是300的阶乘,自己可修改*/

#define MAXSUM 300/*用来存放阶乘结果的数组最大长度*/

#include

#include

main()

{

int i,j,k,n,sum,s;

int a[MAXSUM];

for(i=0;i

{

a[i]=0;

}//数组赋初值

a[0]=1;

for(i=1;i<=MAXLEN;i++)

{

for(j=MAXSUM-1;j>=0;j--)

{

if(a[j]!=0)

{

n=j+1;

break;

}

}//确定阶乘结果保存到数组中,存到数组的第几个元素

for(k=0;k

{

a[k]=a[k]*i;

}//对存入数组中的数进行乘法运算

for(k=0;k

{

sum=a[k];

if(sum/100>0)

{

a[k]=sum%100;

a[k+1]=a[k+1]+sum/100;

}

}//乘法完成后进行进位

}

for(s=n;s>=0;s--)

{

if(a[s]>=10)

printf("%d",a[s]);

else printf("0%d",a[s]);

}//打印完成的阶乘结果(由于03在数组中只显示3故进行相关操作补足

printf("n");

}

测试通过 ,够详细了吧

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。