计算阶乘的C程序示例
#include<stdio.h>
int main(){
int num;
int outcome=1;
scanf("%d",&num);
for(int i=1;i<=num;i++){
outcome*=i;
}
printf("%d",outcome);
return 0;
}
使用for循环计算阶乘
#include <stdio.h>
int main() {
int n, i;
unsigned long long factorial = 1;
printf("请输入一个整数:");
scanf("%d", &n);
// 如果输入的是负数,则输出错误信息
if (n < 0) {
printf("错误!负数没有阶乘。\n");
} else {
for (i = 1; i <= n; ++i) {
factorial *= i;
}
printf("%d 的阶乘 = %llu\n", n, factorial);
}
return 0;
}
使用while循环计算阶乘
#include <stdio.h>
int main() {
int n, i;
unsigned long long factorial = 1;
printf("请输入一个整数:");
scanf("%d", &n);
// 如果输入的是负数,则输出错误信息
if (n < 0) {
printf("错误!负数没有阶乘。\n");
} else {
i = 1;
while (i <= n) {
factorial *= i;
i++;
}
printf("%d 的阶乘 = %llu\n", n, factorial);
}
return 0;
}
使用递归计算阶乘
#include <stdio.h>
unsigned long long factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n;
unsigned long long result;
printf("请输入一个整数:");
scanf("%d", &n);
if (n < 0) {
printf("错误!负数没有阶乘。\n");
} else {
result = factorial(n);
printf("%d 的阶乘 = %llu\n", n, result);
}
return 0;
}
以上是使用C语言编写的计算阶乘的三种方法。您可以根据需要选择合适的方法来计算阶乘。祝您编程愉快!