脚本宝典收集整理的这篇文章主要介绍了C语言实现高阶阶乘(1000的阶乘C语言实现),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
由于C语言的变量的大小的限制,使用已有变量无法保存阶乘结果,所以使用数组保存结果,从而使得无法保存的结果得以保存。
#include <stdio.h> void Print_Factorial ( const int N ); int main() { int N; scanf("%d", &N); Print_Factorial(N); return 0; } //具体实现函数 void Print_Factorial ( const int N ) { int a[3000];//存放阶乘结果的数组 if(N<0) printf("Invalid inputn"); else if(N==0) printf("1"); else { int i,j,tmp; int W=0,k=0;//W进位,k数的位数 tmp=N; for(i=0;tmp!=0;i++)//将计算的数N,存放于数组 { a[i]=tmp%10; tmp=tmp/10; k++; } for(j=N-1;j>0;j--)//计算阶乘 { for(i=0;i<k;i++)//N-1乘以N的每一位 { tmp=a[i]*j+W; a[i]=tmp%10; W=tmp/10; } while(W)//判断最高位进位 { a[i]=W%10; i++; W=W/10; k++; } } for(j=k-1;j>=0;j--)//显示阶乘 printf("%d",a[j]); } }
以上是脚本宝典为你收集整理的C语言实现高阶阶乘(1000的阶乘C语言实现)全部内容,希望文章能够帮你解决C语言实现高阶阶乘(1000的阶乘C语言实现)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。