PTA 6-10 阶乘计算升级版

PTA 6-10 阶乘计算升级版 本题要求实现一个打印非负整数阶乘的函数。函数接口定义void Print_Factorial ( const int N );其中N是用户传入的参数其值不超过1000。如果N是非负整数则该函数必须在一行中打印出N!的值否则打印“Invalid input”。#include stdio.h void Print_Factorial ( const int N ); int main() { int N; scanf(%d, N); Print_Factorial(N); return 0; } /* 你的代码将被嵌在这里 */输入样例15输出样例1307674368000分析代码void Print_Factorial ( const int N ){ if(N0) printf(Invalid input); else{ int num[3000] {0},j,nN; num[0]1; int top0; int carry 0; for(int i2;in;i){ for(j0;jtop;j){ int temp num[j]*i carry; num[j] temp%10; carry temp/10; } while(carry){ num[j] carry%10; carry / 10; top; } } for(int itop;i0;i--){ printf(%d,num[i]); } } }