编辑这个页面须要登录或更高权限!

C程序求数字的阶乘

C 语言编程实例大全

在此示例中,您将学习计算用户输入的数字的阶乘。

要理解此示例,您应该了解以下C语言编程主题:

正数n的阶乘为:

factorial of n (n!) = 1 * 2 * 3 * 4....n

负数的阶乘不存在。0的阶乘是1。

求数字的阶乘

#include <stdio.h>
int main() {
    int n, i;
    unsigned long long fact = 1;
    printf("输入一个整数: ");
    scanf("%d", &n);

    //如果用户输入负整数,则显示错误
    if (n < 0)
        printf("错误! 不存在负数阶乘。");
    else {
        for (i = 1; i <= n; ++i) {
            fact *= i;
        }
        printf("%d 的阶乘 = %llu", n, fact);
    }

    return 0;
}

输出结果

输入一个整数: 10
10 的阶乘 = 3628800

该程序从用户处获取一个正整数,并使用for循环计算阶乘。

由于数字的阶乘可能很大,因此阶乘变量的类型声明为unsigned long long。

如果用户输入一个负数,程序将显示一个自定义错误消息。

您还可以使用递归找到数字的阶乘。

C 语言编程实例大全