| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 835 人关注过本帖
标题:问题出在哪?
取消只看楼主 加入收藏
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
问题出在哪?
我想编一个代码去求1-1/3+1/5-1/7+....的和值,直到最后一项的绝对值小于10的负4次方。
以下是我编的代码。。。可以运行。。但是求不出结果。。。。。我觉得是while那里出问题了。。。但是想了很久还是想不出来。所以请各位前辈帮忙看一下。谢谢


#include"stdio.h"
    main()
    {
    floata a,b,c,d,i=1,j=3,sum=0,mus; /*定义变量*/
    do
    {
    mus=(1/i)-(1/j); /*求两个分数之差*/
    sum+=mus; /*差的和*/
    i=i+4; /*分母加上4*/
    j=j+4; /*分母加上4*/
    a=1-(1/i);
    b=1-(1/j);
    c=1-a;
    d=1-b;
    }
    while(abs(c)<=(1/10000)||abs(d)<=(1/10000)); /*判断每一项是否小于等于10的负4次方*/
    printf("sum=%g",sum); /*输出结果*/
    getch();
    }
搜索更多相关主题的帖子: include 绝对值 
2010-11-15 22:38
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
以下是引用zbsilent在2010-11-15 22:52:36的发言:

#include"stdio.h"
#include"math.h"//后面有个绝对值吧!
main()
{
    float a,b,c,d,i=1,j=3,sum=0,mus; /*定义变量*/
    do
    {
    mus=(1/i)-(1/j); /*求两个分数之差*/
    sum+=mus; /*差的和*/
    i=i+4; /*分母加上4*/
    j=j+4; /*分母加上4*/
    a=1-(1/i);
    b=1-(1/j);
    c=1-a;
    d=1-b;
    }
    while(abs(c)<=(1/10000)||abs(d)<=(1/10000)); /*判断每一项是否小于等于10的负4次方*/
    printf("sum=%g",sum); /*输出结果*/
    getch();
 }
嗯。。。谢谢,这是其中一个问题。。。
不过问题还是没有解决。。。。。
2010-11-15 23:32
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
以下是引用vandychan在2010-11-15 22:40:45的发言:

我觉得代码不错  注悉很清晰
前辈过奖了。。。。
2010-11-15 23:35
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
以下是引用vandychan在2010-11-15 23:47:13的发言:

有些人发代码过来 连个汉字都没 看都不想看
所以找人帮忙 先把思路理清
呵呵,其实我之前都是不写代码的。但是看到前辈的帖子之后,我发现很有用,于是就试着写一下了。
2010-11-15 23:50
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
#include"stdio.h"

    main()
    {
    float i=1,sum=0,mus; /*定义变量*/
    do
    {
    mus=(1/i)-1/(i+2); /*求两个分数之差*/
    sum+=mus; /*差的和*/
    i=i+4; /*分母加上4*/

    }
    while(i<=10000); /*判断每一项是否小于等于10的负4次方*/
    printf("sum=%g",sum); /*输出结果*/
    getch();
    }
这样改还有没有问题?前辈们。。

[ 本帖最后由 折翼 于 2010-11-16 11:09 编辑 ]
2010-11-16 10:54
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
以下是引用虾B写在2010-11-16 00:04:27的发言:

mus=(1/i)-(1/j);i
  a=1-(1/i);
    b=1-(1/j);
    c=1-a;
    d=1-b;
 
c=1-(1-(1/i))
c=1-1+(1/i)
c=1/i
你写的程序好怪啊。


呃。。。。新人。。。。怪是有点怪的。。。所以还请前辈多多指教。。谢谢
2010-11-16 10:57
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
以下是引用zhurong90s在2010-11-16 09:07:25的发言:

浮点型 fabs()取绝对值,
整形 abs(),
嗯,谢谢。。。这里已经改过了。。。
2010-11-16 10:59
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
以下是引用vvvevvv在2010-11-16 10:47:32的发言:

#include//求1/1-1/3+1/5-1/7+1/9-1/11+....的和值,直到最后一项的绝对值小于10的负4次方。
#include
void main()
{
double a,b,i=-3,j=-1,sum=0,mus; /*定义变量*/
do
{
    i+=4;
    j+=4;
    a=1/i;
    b=-1/j;
    mus=a+b;
    sum=sum+mus;
 
 
}
while(i<=10000||j<=10000); /*判断每一项是否小于等于10的负4次方*///我个人觉得 直接判断i和j 就可以了吧
printf("%lf\n",sum);
}LZ可以看看  我不知道运行的结果对不对  探讨探讨!
呃。。。。谢谢。。。我的结果跟你的结果有一点点出入。我们结果的小数点最后一位不同。我也不知道是对还是错。让我再去想想。

[ 本帖最后由 折翼 于 2010-11-16 11:11 编辑 ]
2010-11-16 11:01
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
以下是引用vvvevvv在2010-11-16 11:23:51的发言:

getch()
为什么每次都要加它呢,吸收一个字符 反而 麻烦了 直接输出就好了!
而且 如果用它的话  需要加头文件的#include
呃。。。。。。。因为我用的是WINTC,所以就要加上这一个东西才能够显示。所以我写的每一个程序都加上它。
2010-11-16 12:57
折翼
Rank: 2
来 自:广东广州
等 级:论坛游民
帖 子:105
专家分:77
注 册:2010-10-22
收藏
得分:0 
以下是引用早安向日葵。在2010-11-16 12:44:49的发言:

a=1-(1/i);
    b=1-(1/j);
    c=1-a;
    d=1-b;
    }
    while(abs(c)<=(1/10000)||abs(d)<=(1/10000)); /*判断每一项是否小于等于10的负4次方*/

看不懂这个啊,哪位高手给小弟解释下。
不用看这个了,这一个有点乱而且比较繁琐。 看我后面的改的一个吧。应该会看得懂
2010-11-16 12:59
快速回复:问题出在哪?
数据加载中...
 
   



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

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