用C实现求阶乘之和(非递归实现)
这是是求阶乘和的非递归实现:// methods1.c#include <stdio.h>long double Fn(int n);int main(void){ long double sum = 0; int i, n; i = n = 0; printf("Please input a number: \n"); scanf("%d", &n); if (n > 1000 )printf("ERROR!The number is too large!\nPlease try again!(0~1000)\n"); else if (n < 0)printf("ERROR!The number is invalid!\nPlease try again!(0~1000)\n"); else {for (i = 0; i <= n; i++) sum += Fn(i);printf("The %d factorial's sum is %Lf\n", n, sum); } return 0;}long double Fn(int n){ int i = 1; long double temp = 1; if (n == 0)return 1; for (i = 1; i <= n; i++) temp = temp * i; return temp; }
http://dl.iteye.com/upload/attachment/0068/6472/d5bc3e2f-d2a7-3f53-bed2-c967f24dfe12.png
页:
[1]