#include <stdio.h>
int main() {
int n, m = 1;
scanf("%d", &n);
if(n==0){
printf("%d",m);
return 0;
}
for (int i = 1; i <= n; i++) {
m *= i;
}
printf("%d", m);
return 0;
}
这段代码的功能是计算输入整数 n 的阶乘(n!),并输出结果。它使用一个循环从1乘到n,将结果累乘到变量 m 中。当输入为0时,直接输出1(因为0! = 1)。
- 注意变量 m 的类型是 int,当 n 较大时(比如 n=13 或更大),阶乘结果会超出 int 类型的范围,导致溢出。你可以思考如何让程序处理更大的阶乘结果。
- 代码中 m 的初始值是1,这适用于 n>=0 的情况。但如果你输入负数,程序不会给出有意义的结果。可以想想是否需要处理输入为负数的情况。