C语言实现阶乘计算:递归方法
以下是使用C语言编写的计算阶乘的程序:
#include<stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n;
printf('请输入一个非负整数:');
scanf('%d', &n);
if (n < 0) {
printf('输入错误!请输入一个非负整数。\n');
return 0;
}
int result = factorial(n);
printf('%d的阶乘为:%d\n', n, result);
return 0;
}
这个程序使用递归的方式计算阶乘。首先在 factorial 函数中,当输入的 n 为 0 时,返回 1(0的阶乘为1)。否则,函数会调用自身,传递 n-1 作为参数,并将结果与 n 相乘。最后的结果就是输入的 n 的阶乘。
在 main 函数中,首先提示用户输入一个非负整数,并使用 scanf 函数获取用户输入的值。然后,检查输入是否小于 0,如果是则输出错误提示并返回。否则,调用 factorial 函数计算阶乘,并将结果输出到屏幕上。
原文地址: https://www.cveoy.top/t/topic/eFFO 著作权归作者所有。请勿转载和采集!