| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 862 人关注过本帖
标题:1-1/2+1/3-1/4...1/100
只看楼主 加入收藏
cuijingchun
Rank: 3Rank: 3
来 自:黑龙江
等 级:论坛游侠
威 望:1
帖 子:108
专家分:186
注 册:2011-9-28
结帖率:90%
收藏
已结贴  问题点数:20 回复次数:8 
1-1/2+1/3-1/4...1/100
程序代码:
# include <stdio.h>

int main(void)
{
    float sigh, sum=1, term, i;

    for (i=2; i<=100; ++i)
    {
        term=(-1)*(1/i);
        sum=sum+term;
        ++i;
        sigh=1/i;
        sum=sum+sigh;
    }
    printf("%f\n", sum);

    return 0;
}
结果:0.698073
对么????
2012-01-01 20:01
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:10 
# include <stdio.h>

int main(void)
{
   double  sum = 1;
   int  i, sign = 1;

    for (i = 2; i <= 100; i++)
    {
        sign = -1 * sign;
        sum += sign * (1.0 / i);
    }
    printf("%1.10lf\n", sum);

    return 0;
}
我的结果
图片附件: 游客没有浏览图片的权限,请 登录注册


梅尚程荀
马谭杨奚







                                                       
2012-01-01 20:19
lonmaor
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:郑州
等 级:版主
威 望:75
帖 子:2637
专家分:6423
注 册:2007-11-27
收藏
得分:10 
程序代码:
  1 #include <stdio.h>
  2 int main()
  3 {
  4     int i;
  5     double s=0;
  6     for(i=1;i!=101;++i)
  7     {
  8         s+=1.0/i;
  9         s*=-1;

 10     }

 11     printf("sum = %f\n",s);

 12     return 0;

 13 }

从不知道到知道,到知道自己不知道,成长的道路上脚步深深浅浅
2012-01-01 21:08
小蝦米
Rank: 2
等 级:论坛游民
帖 子:38
专家分:88
注 册:2011-12-18
收藏
得分:0 
这个貌似是谭浩强老师教材里的一个例子,答案正如2楼,版主的算法也是一样的
2012-01-01 22:24
于祥
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:5
帖 子:1047
专家分:4132
注 册:2011-4-24
收藏
得分:0 
#include <stdio.h>
int main(void)
 {
     float sign=1, sum=1, term, i;
 
    for (i=2; i<=100; i++)
     {
          sign=-sign;
         term=(sign)*1/i;         
         sum=sum+term;
     }
     printf("%f\n", sum);
 
    return 0;
 }
 结果是0.688172

最基础的往往是你最容易忽略的!
2012-01-01 22:29
qq503758762
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-12-30
收藏
得分:0 
最后加了1/101
2012-01-01 23:30
qq503758762
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-12-30
收藏
得分:0 
# include <stdio.h>
int main(void)
{
   
    float sigh, sum=0, term,i;

    for (i=1; i<100; ++i)
    {
        sigh=1/i;
        sum=sum+sigh;
        ++i;
        term=(-1)*(1/i);
        sum=sum+term;
        
        
    }
    printf("%1.12f\n", sum);

    return 0;
}
最后的1/100是负号,加负数最好摆在后面
2012-01-01 23:43
luchar
Rank: 9Rank: 9Rank: 9
来 自:南京
等 级:蜘蛛侠
帖 子:279
专家分:1263
注 册:2011-11-3
收藏
得分:0 
我的给你看看
程序代码:
#include <stdio.h>

main()
{
    double s=0,m,n;
    int i;
    for(i=1;i<51;i++)
    {
        m=1.0/(2*i-1);
        n=1.0/(2*i);
        s=s+m-n;
    }
    printf("%lf\n",s);
    return 0;
}
2012-01-02 16:42
hongweisheji
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-3-8
收藏
得分:0 
程序代码:
#include <stdio.h>

main(){
    int a;
    float b;
    float c=0;
    for(a=1;a<=100;a++){
        if(a%2==0){
            b=-a;
        }
        else{
            b=a;
        }
        c=c+1/b;
    }
    printf("%f",c);
}
结果:0.688172
2012-12-07 13:31
快速回复:1-1/2+1/3-1/4...1/100
数据加载中...
 
   



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

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