PTA基础编程——6-8简单阶乘计算

发布时间 2023-04-05 13:10:27作者: 孟某

本题要求实现一个计算非负整数阶乘的简单函数。

函数接口定义:

int Factorial( const int N );

其中N是用户传入的参数,其值不超过12。如果N是非负整数,则该函数必须返回N的阶乘,否则返回0。

裁判测试程序样例:

#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 ){
    
    int factorial = 1;
    int i;
    
    if(N>=0&&N<=12){
        //N的值为非负整数且小于等于12
        for(i=1;i<=N;i++){
            //进行阶乘运算
            factorial = factorial*i;
        }
        return factorial;
    }else{
        //N的值大于12或无意义,返回否
        return 0;
    }
    
}