编写程序求n的阶乘n!

如题所述

一般老师喜欢 用递归调用法计算 n! 显得高大上。
可以用累乘简单算出。改 double 型则 应用数值范围 更大。
#include <stdio.h>
int fun(int n){
if (n<1) {printf("=== n must >= 1\n");return 1;}
if (n==1)return 1;
else return n*fun(n-1);
}
int fun2(int n){
int i,r=1;
for (i=1;i<=n;i++) r=r*i;
return r;
}

int main()
{
int n;
printf("input n:\n");
scanf("%d",&n);
printf("%d\n",fun(n)); // 高大上方法
printf("%d\n",fun2(n)); //简单适用方法

return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答