标题:关于函数调用的问题,望赐教
只看楼主
咚呱咚呱
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:29
专家分:2
注 册:2010-4-13
结帖率:100%
已结贴  问题点数:20 回复次数:2 
关于函数调用的问题,望赐教
小弟初学,学到函数调用。遇题目如下:
编程计算e的n次方。其中e=1+n+n^2/(2!)+n^3/(3!)+……+n^x/(x!)。
小弟编写程序如下,C语言不报错,但运行时结果明显错误,望各位能指教:
#include<stdio.h>
double f1(int n,int x)
{
    int a=n;
    for(int i=1;i<x;i++)
    n=n*a;
    return n;
}
double f2(int x)
{
    for(int i=1;i<x;i++)
    x=x*i;
    return x;
}
void main()
{
    int n,x;
    printf("Please input n,x:\n");
    scanf("%d%d",&n,&x);
    float b,c=1;
    for(int i=1;i<=x;i++)
    {
        b=f1(n,i)/f2(i);
        c=c+b;
    }
    printf("e的%d次方为%5f\n",n,c);
}

望大虾指教!你的帮助将会让我在慢慢编程路上越走越远!谢谢!
搜索更多相关主题的帖子: 函数 
2010-05-16 20:44
yc2575757
Rank: 7Rank: 7Rank: 7
来 自:北京
等 级:黑侠
威 望:1
帖 子:113
专家分:522
注 册:2010-5-7
得分:20 
#include<stdio.h>
double f1(int n,int x)
{
    int a=n;
    for(int i=1;i<x;i++)
    n=n*a;
    return n;
}
double f2(int x)
{
    int a = x;
    for(int i=1;i<a;i++)
//这里需要换成a,不然x的值是变的,得出的值肯定不对~~
    x=x*i;
    return x;
}
void main()
{
    int n,x;
    printf("Please input n,x:\n");
    scanf("%d%d",&n,&x);
    double c=1;
    double b;
    for(int i=1;i<=x;i++)
    {
        b=f1(n,i)/f2(i);
        c=c+b;
    }
    printf("e的%d次方为%5f\n",n,c);
}
2010-05-16 21:58
咚呱咚呱
Rank: 1
来 自:武汉
等 级:新手上路
帖 子:29
专家分:2
注 册:2010-4-13
得分:0 
回复 2楼 yc2575757
恩,的确,呵呵。谢啦!!!!
2010-05-17 18:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306908-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.923076 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved