怎么用C语言编写100以内任意整数的阶乘啊?

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:03:50
最好用最初级的C语言!谢谢!

int n;
int r[600]={0};
int count(n)
{
int i;
for(i=0;i<600;i++)
r[i]*=n;
for(i=599;i>0;i--)
{
r[i-1]=r[i-1]+r[i]/10;
r[i]=r[i]%10;
}
}

int main()
{
int i;
int reach=0;
r[599]=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
count(i);
for(i=0;i<600;i++)
{if(r[i]) reach=1;
if(r[i]||reach) printf("%d",r[i]);
}
getchar();
getchar();
}

这个程序输入一个100以内的数,可以计算出它的阶乘。TURBO C 调试通过。

int calc(int n)
{
int temp;
int i;

temp = n;

while(n != 1)
{
temp = temp * (n-1);
n--;
}

return(temp);
}

main()
{
int data;
int i;

printf("input data\n");

scanf("%d", &data);

i = calc(data);