用c++编写一个程序计算1-1/3+1/5-1/7一直这样循环到n

 我来答
成都IO
2014-12-29 · TA获得超过117个赞
知道小有建树答主
回答量:153
采纳率:100%
帮助的人:127万
展开全部
#include <stdio.h>


#define MAX  1000000

int main( int argc,char** argv )
{
    double v = 1.0f;
    int tag = 1;
    int i=1;
    for(; i<MAX; ++i )
    {
      tag = i%2==0?1:-1;
      v+=1.0/(i*2+1)*tag;       
    }
    printf("%2f\n",v);

    return 0;
}

Output:1

    0.785398

辛苦回答问题,给自己打一个小广告(http://www.iu8s.com/) ,非常感谢

草丛里的落叶
推荐于2018-03-13 · TA获得超过422个赞
知道小有建树答主
回答量:650
采纳率:100%
帮助的人:310万
展开全部
void main(){
int n,i;
float sum=0;
printf("请输入n的值:");
scanf(%d,&n);
for(i=1;i<=n;i++){
if(i%2==0)
sum-=1.0/(2*i-1);
else
sum+=1.0/(2*i-1);
}
printf("结果为:%f\n",sum);
}
追问
可以用c++编一次吗
追答
#include
using namespace std;

void main(){
int n,i;
float sum=0;
cout>n;
for(i=1;i<=n;i++){
if(i%2==0)
sum-=1.0/(2*i-1);
else
sum+=1.0/(2*i-1);
}
cout<<"结果为:“<<sum<<endl;
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MexwellWen
2014-12-29
知道答主
回答量:10
采纳率:0%
帮助的人:7.7万
展开全部
/*version 1*/
double result=0.0;
for(int i=1;i<=n;)
{
result+=(i%2?(1):(-1))*(1/i);

i+=2;
}
cout<<"result:"<<result<<endl;

/*version 2*/
double result=0.0;
for(int i=1,int k=1;i<=n;i++,k+=2)
{
result+=(i%2?(1):(-1))*(1/k);
}
cout<<"result:"<<result<<endl;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式