C语言可以使用循环来求n的阶乘。以下是一种常见的求阶乘的方法:
#include <stdio.h>
int main() {
int n, i;
unsigned long long factorial = 1;
printf("请输入一个正整数: ");
scanf("%d", &n);
// 如果输入的是负数,则无法计算阶乘
if (n < 0) {
printf("错误!负数没有阶乘。");
}
else {
for (i = 1; i <= n; ++i) {
factorial *= i;
}
printf("%d 的阶乘 = %llu", n, factorial);
}
return 0;
}
在上述代码中,我们首先声明了一个变量n来存储用户输入的值,声明了一个变量i作为循环计数器,以及一个变量factorial来存储阶乘结果。接下来,我们使用scanf
函数从用户输入中获取n的值。
然后,我们使用一个for
循环来计算阶乘。循环从1开始,每次循环将i乘以当前的阶乘结果,并将结果保存在factorial变量中。循环继续执行,直到i的值等于n为止。
最后,我们使用printf
函数将结果打印出来。
需要注意的是,由于阶乘的结果可能非常大,所以我们使用了unsigned long long
类型来存储结果,以便能够处理更大的阶乘结果。