swust oj 321
题目描述
阶乘(factorial)是基斯顿·卡曼(Christian Kramp, 1760 – 1826)于1808年发明的运算符号。 任何大于1的自然数n阶乘可以表示为以下形式: n!=n×(n-1)! 另外,数学家定义,0!=1,所以0!=1! 你的任务是编写一个程序来计算一个给定数字n的阶乘n!(n<14)
输入
输出
样例输入
样例输出
源代码
因为题目要求用函数,故先用函数。但是,本人认为不用函数,也是可以的。不过如果是考试,要按试卷要求,不然程序通过也没有好的分数。
#include <stdio.h>
int main()
{
int i, n;
int f(int n);
scanf("%d", &n);
printf("%d\n", f(n));
return 0;
}
int f(int n)
{
if(n>0)
return (n*f(n-1));
else
return 1;//注意0!=1
}
或者利用for循环做
#include <stdio.h>
int main()
{
int i, n;
int sum = 1;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
sum *= i;
}
printf("%d\n", sum);
return 0;
}