所谓递归即是调用自身。
例如5!= 5 * 4!,而4!= 4 * 3!,3!= 3 * 2!以此类推
#include <stdio.h>
//递归计算阶乘的函数
double factorial(int num) {
double result;
if (num == 0) {
result = 1;
} else {
result = num * factorial(num - 1);
}
return result;
}
void main() {
int x;
double fac;//N!的阶乘值
double sum = 0;//阶乘的和
printf("请输入1-N阶乘的值:");
scanf("%d", &x);
for (int i = 1; i <= x; i++) {
fac = factorial(i);
printf("%d!=%.f\n", i, fac);
sum += fac;
}
printf("阶乘的和为:%.f", sum);
}
运行结果:
本章C语言经典例题合集:http://t.csdnimg.cn/FK0Qg