10-2 遞迴求階乘和
阿新 • • 發佈:2018-12-01
// 遞迴求階乘和 #include <stdio.h> double fact(int n); // 遞迴求階乘 double sum(int n); // 遞迴求和 int main(void) { int n; printf("請輸入一個整數n(n>0且n<=10):"); scanf("%d", &n); if (n == 1) { printf("1!=%.0f\n", sum(n)); } else if (n == 2) { printf("1!+2!=%.0f\n", sum(n)); } else if (n == 3) { printf("1!+2!+3!=%.0f\n", sum(n)); } else { printf("1!+2!+...+%d!=%.0f\n", n, sum(n)); } return 0; } double fact(int n) { double result; if (n == 1) { result = 1; } else { result = n*fact(n-1); } return result; } double sum(int n) { double result; if (n == 1) { result = fact(1); } else { result = fact(n)+sum(n-1); } return result; }