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

求助:简单的输出格式问题!!!

wjx1001 发布于 2008-07-29 14:04, 861 次点击
#include<iostream>
using namespace std;
void main()
{
    float pi=0;
    for(int i=1,float j;i<=10;i++)
    {
        if(i%2==0)j=-1.0/(2.0*i-1);
        else j=1.0/(2.0*i-1);
        pi+=j;
    }
    cout<<pi<<endl;
}

求的是1-1/3+1/5-1/7.....的运算...结果应该是小数,但是运行起来是1...在线等答案...

[[it] 本帖最后由 wjx1001 于 2008-7-29 14:23 编辑 [/it]]
7 回复
#2
wjx10012008-07-29 14:08
#3
mehere2008-07-29 14:28
#include<iostream>
using namespace std;
int main()
{
    float pi=0;int i=1;float j;
    for(;i<=10;i++)
    {
        if(i%2==0)j=-1.0/(2.0*i-1);
        else j=1.0/(2.0*i-1);
        pi+=j;
    }
    cout<<pi<<endl;
return 0;
}

你的叙述是混乱的~~    这样运行结果为0.7........

[[it] 本帖最后由 mehere 于 2008-7-29 14:30 编辑 [/it]]
#4
wjx10012008-07-29 14:30
请问下错在哪了?
#5
wjx10012008-07-29 14:38
明白了。
#6
夏蓝清曦2008-07-29 17:00
#include<iostream>
using namespace std;
void main()
{
    float pi=0,j;
    for(int i=1;i<=10;i++)
    {
        if(i%2==0)j=-1.0/(2.0*i-1);
        else j=1.0/(2.0*i-1);
        pi+=j;
    }
    cout<<pi<<endl;
}
把j定义在外边就行了
#7
zhaojiu2008-07-30 11:07
回复 6# 夏蓝清曦 的帖子
为什么把j定义在外面就可以了?
里面和外面不是一样吗??
#8
夏蓝清曦2008-07-30 19:46
[bo][un]zhaojiu[/un] 在 2008-7-30 11:07 的发言:[/bo]

为什么把j定义在外面就可以了?
里面和外面不是一样吗??


要看变量的作用域
1