📜  C |回路和控制结构|问题12(1)

📅  最后修改于: 2023-12-03 14:59:38.039000             🧑  作者: Mango

C | 回路和控制结构 | 问题12

问题描述

编写程序,接受一个整数作为输入,并输出该数字的阶乘。例如,如果输入为 5,则输出 120

解决方案

要计算一个数的阶乘,可以使用循环来实现。具体步骤如下:

  1. 接受用户输入的数字,并将其保存在一个变量中。
  2. 使用一个变量来保存阶乘的结果,初始化为 1
  3. 使用循环来计算阶乘,循环从 1 到输入的数字结束。每次循环,将阶乘的结果乘以循环变量的值。
  4. 输出阶乘的结果。

下面是一个完整的程序示例:

#include <stdio.h>

int main() {
    int n, i;
    long long factorial = 1;

    printf("请输入一个整数: ");
    scanf("%d", &n);

    // 计算阶乘
    for (i = 1; i <= n; ++i) {
        factorial *= i;
    }

    printf("%d 的阶乘为 %lld\n", n, factorial);
    return 0;
}

在上面的程序中,我们首先定义了三个变量:

  • n:用来保存用户输入的数字;
  • i:循环变量,用来循环计算阶乘,从 1n 结束;
  • factorial:用来保存阶乘的结果,初始值为 1

程序通过 scanf 函数接受用户输入的数字,然后使用一个 for 循环来计算阶乘。在循环中,每次将阶乘的结果乘以循环变量 i 的值。最后,使用 printf 函数输出阶乘的结果。

程序运行示例:

请输入一个整数: 5
5 的阶乘为 120
总结

计算阶乘是一个常见的数学问题,通过使用循环可以轻松实现这个功能。在编写程序时,要注意变量的类型和循环语句的范围,以确保程序能够正确地计算阶乘。另外,需要注意阶乘的结果可能会很大,因此在计算过程中要使用长整型变量来保存结果,避免溢出。