6-8 简单阶乘计算(10 分)
本题要求实现一个计算非负整数阶乘的简单函数。
函数接口定义:
1
| int Factorial( const int N );
|
其中N
是用户传入的参数,其值不超过12。如果N
是非负整数,则该函数必须返回N
的阶乘,否则返回0。
裁判测试程序样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| #include <stdio.h>
int Factorial( const int N );
int main() { int N, NF; scanf("%d", &N); NF = Factorial(N); if (NF) printf("%d! = %d\n", N, NF); else printf("Invalid input\n");
return 0; }
|
输入样例:
输出样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| #include <stdio.h>
int Factorial( const int N );
int main() { int N, NF; scanf("%d", &N); NF = Factorial(N); if (NF) printf("%d! = %d\n", N, NF); else printf("Invalid input\n");
return 0; }
int Factorial( const int N )
{ if(N<0) return 0; int mul=1; int i; for(i=1;i<=N;i++){ mul=mul*i; } return mul; }
|