| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2651 人关注过本帖
标题:1+1/2+1/4+1/7+1/11+1/16+1/22+.....要求在当第i项<1e-5是求和结束。
只看楼主 加入收藏
李庚
Rank: 2
来 自:河南南阳
等 级:论坛游民
帖 子:36
专家分:50
注 册:2011-10-17
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:4 
1+1/2+1/4+1/7+1/11+1/16+1/22+.....要求在当第i项<1e-5是求和结束。
#include<stdio.h>
#include<math.h>
main()
{
    int i=1,j=1;
    double sum=1;
    for(i;;i++)
     {j=j+i;
      sum+=(double)1/j;
      if((1/j)<(1e-5))
      break; }
      
      printf("%f",sum);
   
   
}
1+1/2+1/4+1/7+1/11+1/16+1/22+.....要求在当第i项<1e-5是求和结束。
搜索更多相关主题的帖子: include double 
2011-10-22 17:43
Y_Jo_1
Rank: 4
等 级:业余侠客
帖 子:59
专家分:215
注 册:2011-10-20
收藏
得分:3 
首先没有用到math.h中的函数,所以这句#include<math.h>删去

j=j+i;这句有误,你的意思是i代表第i项,j代表第i项的分母,所以j=j+i-1;

#include <stdio.h>
main()
{
    int i=1,j=1;
    double sum=1;
    for(i;;i++)
    { j=j+i-1;
      sum+=(double)1/j;
      if((1/j)<(1e-5))
          break;
    }
      printf("%lf",sum);
      getch();
}

2011-10-22 19:20
李庚
Rank: 2
来 自:河南南阳
等 级:论坛游民
帖 子:36
专家分:50
注 册:2011-10-17
收藏
得分:0 

#include<stdio.h>
 main()
{ int i,t=1; float sum=1.0;
 for(i=1;(float)1/<=1e-5;i++)
 {     
    t=t+i;
    sum=sum+(float)i/t;
   } printf("%f",sum); }
我感觉是红色部分里有问题,就是说循环条件有问题,想不出怎么调
2011-10-23 14:35
Y_Jo_1
Rank: 4
等 级:业余侠客
帖 子:59
专家分:215
注 册:2011-10-20
收藏
得分:0 
((float)1/i)>=1e-5
你写反了吧
2011-10-23 15:28
玉立
Rank: 2
等 级:论坛游民
帖 子:32
专家分:24
注 册:2011-10-17
收藏
得分:3 
我的思路是这样的,但运行结构为0,不知错在哪了,请高手指点,谢谢。
#include<stdio.h>
void main()
{
    float t=1,sum=0,n;
    while(1/t<1e-5)
        for(n=1;;n++)
        {
            sum=sum+1/t;
            t=t+n;
        }
        printf("%f",sum);
}

2011-10-24 16:50
快速回复:1+1/2+1/4+1/7+1/11+1/16+1/22+.....要求在当第i项<1e-5是求和结束。 ...
数据加载中...
 
   



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

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