标题:新手求助,为什么这个程序在vs2010上运行不了
只看楼主
Liu3420175
Rank: 2
来 自:湖北黄冈
等 级:论坛游民
帖 子:26
专家分:17
注 册:2013-3-24
结帖率:100%
已结贴  问题点数:20 回复次数:3 
新手求助,为什么这个程序在vs2010上运行不了
上午看书编的一个程序,题目如下:
S=1+(1/5)+(1/9)+...+(1/(4n+1))直到最后一项绝对值小于0.0000001为止。
下面是我写的程序,在VS2010上运行不了,上面说生成成功,但什么结果也没有,我是菜鸟,求高人指点,谢谢!
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    double s1=0;
    int i;
    double a=1.0;
while(a>1e-7)
    for(i=0;;i++)
    {
            a=1/(4*i+1);
            s1=s1+a;
    }
    cout <<"s1="<<setiosflags(ios::fixed)<<setprecision(6)<<s1<<endl;
    return 0;
}
搜索更多相关主题的帖子: include double 绝对值 
2013-03-24 10:50
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:20 
程序代码:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    double s1=0.0;
    int i=0;
    double a=1.0;
    while(a>1e-6)
    {       
        a=(double)1.0/(double)(4*i+1);     //强制转换
        s1=s1+a;
        i++;
    }
    cout <<"s1="<<setiosflags(ios::fixed)<<setprecision(6)<<s1<<endl;
    return 0;
} 

DO IT YOURSELF !
2013-03-24 11:04
Liu3420175
Rank: 2
来 自:湖北黄冈
等 级:论坛游民
帖 子:26
专家分:17
注 册:2013-3-24
得分:0 
谢啦,可以了,没经验,不知道怎么用强制转换

天下事在局外呐喊是无益的,必须躬亲入局才有改变的希望!
2013-03-24 11:09
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
a=1/(4*i+1);
这个=后面是整型  第二次循环时就=0 退出循环了

DO IT YOURSELF !
2013-03-24 11:10



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




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

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