C语言编程 输入一个正整n,生成一张阶乘表,输出1!~n!的值。

【问题描述】输入一个正整n,生成一张阶乘表,输出1!~n!的值。要求定义和调用函数fact(n)计算n!,函数类型为double
【输入形式】
【输出形式】
【样例输入】3
【样例输出】1!=1
2!=2
3!=6

【样例说明】
【评分标准】
严格按照样例输出

#include<stdio.h>
double fac(int n)
{if(n==0)return 1.0;
 return n*fac(n-1);
}
int main()
{int i,n;
 scanf("%d",&n);
 for(i=1;i<n+1;i++)
   printf("%d!=%.0lf\n",i,fac(i));  
 return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-13
/*******************************************************
* C语言编程 输入一个正整n,生成一张阶乘表,输出1!~n!的值
*******************************************************/

#include <stdio.h>

int main(void)
{
int i,n;
long int sum=1;
printf("请输入正整数n:");
scanf("%d",&n) ;

for(i=1;i<=n;i++)
{
sum*=i;
printf("%d!=%d\n",i,sum);
}

return 0;
}
第2个回答  推荐于2017-09-30
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n, i, v;
scanf("%d", &n);
v = 1;
for (i = 1; i <= n; i++)
{
v *= i;
printf("%d! = %d\n", i, v);
}

system("pause"); //避免窗口一闪而退
return 0;
}本回答被提问者和网友采纳
第3个回答  2018-11-29
#include<stdio.h>
#include<math.h>
int main()
{
int i,n,sum,j;
scanf("%d",&n);
sum=1;
for(i=0;i<=n;i++)
{
if(i==0)
sum=1;
else
for(j=1;j<=i;j++)
{
sum=sum*j;
}
printf("%d!=%d\n",i,sum);
}
}
相似回答