| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8134 人关注过本帖
标题:求方程根ax^2+bx+c=0的根,哪里出问题了
只看楼主 加入收藏
岁月如刀
Rank: 6Rank: 6
来 自:冰冻星球
等 级:侠之大者
威 望:7
帖 子:165
专家分:477
注 册:2013-7-21
收藏
得分:3 
回复 10楼 love云彩

还好还好。。。Take it easy.

Now. Game over.
2013-07-22 00:32
suroot007
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2013-7-18
收藏
得分:3 
回复 楼主 fatemeng
看了你的帖子,感觉眼花缭乱,你好像对花括号特别钟情啊,太乱了,建议多看下流程控制!

附上自己写的代码,有不好的地方,还请见谅!

# include <stdio.h>
# include <math.h>
int main()
{
 int a, b, c;
 printf ("请输入一元二次方程的系数,中间用空格分开\n");
 scanf ("%d %d %d",&a, &b, &c);
 double delta,x1,x2;
 delta = b*b - 4 * a * c;
 x1 = (-b + sqrt(delta)) / (2*a);
 x2 = (-b - sqrt(delta)) / (2*a);
 if (delta>0)
    printf ("这个方程的解有两个,它们分别是x1=%f, x2=%f\n",x1,x2);
 else if (delta==0)
    printf ("这个方程有唯一的解,它们分别是x1=x2=%f\n",x1,x2);
else
    printf("这个方程无解\n");
return 0;
}

[ 本帖最后由 suroot007 于 2013-7-22 02:37 编辑 ]
2013-07-22 02:33
C语言NEW
Rank: 2
来 自:C语言家族
等 级:论坛游民
帖 子:68
专家分:65
注 册:2013-6-26
收藏
得分:3 
错误已找出,在上面

C语言菜鸟啦啦啦,必须的。
2013-07-22 10:04
fatemeng
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-7-21
收藏
得分:0 
谢谢以上同学的回复,下面是我修改后可以运行的程序
#include<stdio.h>
#include<math.h>
int main()
{
    int d, a,b,c;
    double x1,x2,p,q;
    printf("请输入a b c的值:");
    scanf("%d %d %d",&a,&b,&c);
    d=b*b-4*a*c;
    if(d>=0)
    {
        if(d==0)
        {
        x1=-b/(2*a);
        x2=-b/(2*a);
        }
        else
        {
            x1=(-b+sqrt(d))/(2*a);
            x2=(-b-sqrt(d))/(2*a);
        }
        printf("x1和x2的值分别为:%f %f\n",x1,x2);
    }
    else
    {
        p=-b/(2*a);
        q=sqrt(-d)/(2*a);
        printf("x1和x2的值分别为:%f %f\n",p,q);
        
    }
        return 0;

}
2013-07-28 13:39
cheetah
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:120
专家分:118
注 册:2013-6-29
收藏
得分:0 
程序代码:
你的程序对a,b,c的情况讨论的不够全面
给你一个比较全面的程序吧:
#include <stdio.h>
#include <math.h>                              
int main()
{
    double a,b,c,x;                                
    double x1=0,x2=0,delta=0;
   
    printf("***求方程的根:ax^2+bx+c=0***\n\n");
    printf("输入 a,b 和 c:");
    scanf("%lf%lf%lf",&a,&b,&c);
    printf("a=%lf,b=%lf,c=%lf\n",a,b,c);
    if(0 == a)                                    
    {
        if(0 == b)                               
            printf("此方程无意义!\n");
        else
        {
            x=-c/b;
            printf("这是一个一元一次方程!\n");
            printf("方程的根是:x=%.2lf\n",x);
        }
    }
    else                                        
    {
        printf("这是一个一元二次方程!\n");
        delta=b*b-4*a*c;                        
        if(delta>0)   
        {  
            x1=(-b+sqrt(delta))/(2*a);
            x2=(-b-sqrt(delta))/(2*a); 
            printf("方程的两实根是:\nx1=%.2lf,x2=%.2lf\n",x1,x2);
        }
        else if(delta<0)           
            printf("此方程无实根!\n");        
        else
        {
            x1=x2=-b/(2*a);                 
            printf("此方程有两相等实根:\nx1=x2=%.2lf\n",x1);
        }
    }
   
    return 0;
}


[ 本帖最后由 cheetah 于 2013-7-29 19:21 编辑 ]

天道酬勤
2013-07-29 19:19
快速回复:求方程根ax^2+bx+c=0的根,哪里出问题了
数据加载中...
 
   



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

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