标题:函数调用时遇见的问题
只看楼主
Inquiry
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-4-25
结帖率:50%
已结贴  问题点数:5 回复次数:4 
函数调用时遇见的问题
题目:用c语言编写程序,根据公式e=1+1/2!=1/3!+....   求e的近似值,精度要求为10-6.下面是自己的代码

#include<stdio.h>
long int fac(int n)
{
    long int y;
    if(n==0)
        y=1;
    else
        y=n*fac(n-1);
    return(y);

void main()
{
    int i=1;
    double e=1.0;

    while(1.0/fac(i)>0.000001)
    {
        e+=1.0/fac(i);
        i++;
    }
    printf("%d\n",e);
}
}
搜索更多相关主题的帖子: c语言 return double 编写程序 
2017-05-05 19:13
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:5 
两个问题~第一个是圆角括号导致不能通过编译~第二个问题是输出格式应该用%f输出~改正后能得出结果~

程序代码:
#include<stdio.h>
long int fac(int n);
long int fac(int n)
{
    long int y;
    
    if (n==0)
        y=1;
    else
        y=n*fac(n-1);
        
    return(y);
}
int main()
{
    int i=1;
    double e=1.0;

    while(1.0/fac(i)>0.000001)
    {
        e+=1.0/fac(i);
        i++;
    }
    printf("%f\n",e);
    
    return 0;
}

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-05 19:53
Inquiry
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-4-25
得分:0 
回复 2楼 九转星河
改正了之后编译没有问题但是还是不能执行
#include<stdio.h>
long int fac(int n)
{
    long int y;
    if(n==0)
        y=1;
    else
        y=n*fac(n-1);
    return(y);
}
void main()
{
    int i=1;
    double e=1.0;

    while(1.0/fac(i)>0.000001)
    {
        e+=1.0/fac(i);
        i++;
    }
    printf("%f\n",e);
}
2017-05-05 21:16
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
得分:0 
回复 3楼 Inquiry
可以输出结果~看看你用的是什么编译器?~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-05-05 22:56
Inquiry
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2017-4-25
得分:0 
回复 4楼 九转星河
vc++6.0,后来关了重启之后就没问题了。谢谢。
2017-05-06 19:53



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




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

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