| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:VC++6.0程序编译在运行时的问题
只看楼主 加入收藏
hangeng
Rank: 2
等 级:论坛游民
帖 子:424
专家分:39
注 册:2007-7-23
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:3 
VC++6.0程序编译在运行时的问题
该代码要完成的事项如下
e=1+1/(1!)+1/(2!)······
代码

程序代码:
#include <stdio.h>
long int factorial(int);
int main(void)
{
    double e=0,sum=0;
    long int i,fac;

    for(i=50;i>0;i--)
    {
        fac=factorial(i);
        sum=1/fac;
        e=e+sum;
        printf("%lf\n",e);
    }
 


    return 0;


}
    long int factorial(int i)
    {
        int temp;
        for(;i>0;i--)
        {
            temp=temp*i;
        }
        return temp;

    }

编译器显示如下
--------------------Configuration: none - Win32 Debug--------------------
Compiling...
none.cpp

none.obj - 0 error(s), 0 warning(s)
--------------------Configuration: none - Win32 Debug--------------------
Linking...

none.exe - 0 error(s), 0 warning(s)
但是程序无法运行
显示为
图片附件: 游客没有浏览图片的权限,请 登录注册

希望高手予以解答!
谢谢
搜索更多相关主题的帖子: 运行 编译 
2010-01-27 11:35
fqtb16
Rank: 7Rank: 7Rank: 7
来 自:上海
等 级:黑侠
帖 子:96
专家分:504
注 册:2009-12-28
收藏
得分:1 
段错误?

爱拼才会赢
2010-01-27 16:35
playmyself
Rank: 5Rank: 5
来 自:第3系4级宇宙空间
等 级:职业侠客
帖 子:76
专家分:399
注 册:2009-7-8
收藏
得分:9 
错误代码:
#include <stdio.h>
long int factorial(int);
int main(void)
{
    double e=0,sum=0;
    long int i,fac;//fac最好初使化

    for(i=50;i>0;i--) //50的阶乘太大,早已超出范围
    {
        fac=factorial(i);
        sum=1/fac; //这里1是int类型会整除
        e=e+sum;
        printf("%lf\n",e);
    }



    return 0;


}
    long int factorial(int i)
    {
        int temp; //又没有初使化,不知道会算出来什么。
        for(;i>0;i--)
        {
            temp=temp*i;
        }
        return temp;

    }
改好如下:
#include <stdio.h>
long int factorial(int);
int main()
{
    double e=0,sum=0;
    long int i,fac=1;

    for(i=19;i>0;i--)
    {
        fac=factorial(i);
        sum=1.0/fac;
        e=e+sum;
        printf("%lf\n",e);
    }
    return 0;


}
long int factorial(int i)
{
    int temp = 1;
    for(;i>0;i--)
    {
        temp=temp*i;
    }
    return temp;
}
VC6,CFREE测试通过。

无聊创造奇迹。
2010-01-27 18:41
hangeng
Rank: 2
等 级:论坛游民
帖 子:424
专家分:39
注 册:2007-7-23
收藏
得分:0 
感谢三楼指出的错误!
同时也非常感谢你提供正确的代码!

  雨水冲不进窗来,在玻璃上痛哭。但它至少奋斗过。
2010-01-28 18:26
快速回复:VC++6.0程序编译在运行时的问题
数据加载中...
 
   



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

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