六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 35|回复: 0

用C实现求阶乘之和(非递归实现)

[复制链接]

升级  92%

12

主题

12

主题

12

主题

童生

Rank: 1

积分
46
 楼主| 发表于 2013-1-26 12:29:39 | 显示全部楼层 |阅读模式
这是是求阶乘和的非递归实现:
 
 
// 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;    } 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表