注册 登录
编程论坛 C++教室

关于累加和

a99875984 发布于 2012-04-18 12:08, 226 次点击
程序代码:
#include <iostream.h>
#include<stdio.h>
double fun(int a)
{
    double i=0,s;
    double sum=0;
    for(;i<a;i++)
    {
        s=1/(2*a-1);
        sum=sum+s;
    }
    return sum;
}
void main()
{
    int a;
    cin>>a;
    cout<<fun(a)<<endl;
}
为什么输入5,输出是0啊?是哪错了啊?谢谢
2 回复
#2
a998759842012-04-18 12:22
回复 楼主 a99875984
知道那错了,抱歉了
采纳3楼的意见把错误发出来
程序代码:
#include <iostream.h>
#include<stdio.h>
double fun(int a)
{
    double i=0,s;
    double sum=0;
    for(;i<a;i++)
    {
        s=1.00/(2*a-1);//应该在1后面加两位小数,不然结果是0
        sum=sum+s;
    }
    return sum;
}
void main()
{
    int a;
    cin>>a;
    cout<<fun(a)<<endl;
}



[ 本帖最后由 a99875984 于 2012-4-24 18:18 编辑 ]
#3
pangding2012-04-20 01:48
你可以把错误原因公布出来。也许可以帮到其他人。
1