| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 611 人关注过本帖
标题:c源程序求错
只看楼主 加入收藏
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
结帖率:40%
收藏
已结贴  问题点数:20 回复次数:9 
c源程序求错
原题是用二分法求一个方程的2x3-4x2+3x-6=0d的根
#include<stdio.h>
void main()
{
    float a,b,c;
    do
    {printf("Please input the lower and upper boundaries:");
    scanf("%f%f",&a,&b);}while((2*a*a*a-4*a*a+3*a-6)*(2*b*b*b-4*b*b+3*b-6)>0);

c=(a+b)/2;
        for(;(2*c*c*c-4*c*c+3*c-6)<-0.000001||(2*c*c*c-4*c*c+3*c-6)>0.000001;c=(a+b)/2)
        {
            if((2*a*a*a-4*a*a+3*a-6)*(2*c*c*c-4*c*c+3*c-6)<0)
                b=c;
            else a=c;
        }
    printf("The root is %.2f",c);
    }
输入3,10,结果是2不知错在哪

[ 本帖最后由 铁甲依然在 于 2010-4-14 10:46 编辑 ]
搜索更多相关主题的帖子: include 源程序 二分法 
2010-04-14 10:32
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
收藏
得分:0 
输入1,5,又死循环了。。。
2010-04-14 10:35
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
收藏
得分:6 
程序代码:
#include<stdio.h>
int main()
{
    float a,b,c;
    do
    {
        printf("Please input the lower and upper boundaries:");
        scanf("%f %f",&a,&b);
    }while((2*a*a*a-4*a*a+3*a-6)*(2*b*b*b-4*b*b+3*b-6)>0);
    c=(a+b)/2;
    while(1)
    {
        if ((2*c*c*c-4*c*c+3*c-6)>-0.000001 && (2*c*c*c-4*c*c+3*c-6)<0.000001) break;
        if((2*a*a*a-4*a*a+3*a-6)*(2*c*c*c-4*c*c+3*c-6)<0)
            b=c;
        else a=c;
        c=(a+b)/2;
    }
    printf("The root is %.2f",c);
}
你程序的格式看的我蛋疼...
帮你改了下

人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-04-14 10:46
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
收藏
得分:0 
帅哥,有问题啊,我用了你的程序,假如我输入3,10,结果应该在3-10之间,可下面是输入结果:
Please input the lower and upper boundaries:3,10
The root is 2.00Press any key to continue

[ 本帖最后由 铁甲依然在 于 2010-4-14 11:06 编辑 ]
2010-04-14 11:03
mywaylgh
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
收藏
得分:0 
输入3 10的时候会让你再输入一次,直到根在你输入的范围内
还有,不可能出现"Press any key to continue"这样的东西

我的结果:
Please input the lower and upper boundaries:3 10
Please input the lower and upper boundaries:1 5
The root is 2.00

你确定是用我给你的代码编译的?


人生就像茶几 上面放着许多杯具

人生也像厨房 里面总有一些洗具
2010-04-14 11:11
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
收藏
得分:0 
额,可能我用的版本不同,我这写的是Microsoft Visual C++,形成的都是.cpp的源文件,好像是C++(我也认为源程序没错),是不是这样啊?我菜鸟莫笑
2010-04-14 11:28
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
收藏
得分:0 
Press any key to continue是每次都有的。。
2010-04-14 11:30
缘中月
Rank: 2
来 自:福建
等 级:论坛游民
帖 子:50
专家分:18
注 册:2010-2-25
收藏
得分:6 
回复 5楼 mywaylgh
5L那就话是VC运行后都带的。。。。
2010-04-14 12:31
h646028147
Rank: 2
等 级:论坛游民
帖 子:33
专家分:23
注 册:2010-4-12
收藏
得分:6 
如果是scanf("%f %f",&a,&b);
输入的数字应该是(数字空格数字)
如果是scanf("%f%f",&a,&b);
那怎么输入?
楼主你试试scanf("%f,%f",&a,&b);

[ 本帖最后由 h646028147 于 2010-4-14 12:42 编辑 ]
2010-04-14 12:41
铁甲依然在
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2010-4-1
收藏
得分:0 
回复 9楼 h646028147
这样改倒行了诶,灰常感谢!
2010-04-14 13:26
快速回复:c源程序求错
数据加载中...
 
   



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

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