标题:这是求一元二次方程的代码,可以运行,但是算法错了,得不到正确答案,求指 ...
只看楼主
夏日_
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-3-31
结帖率:0
 问题点数:0 回复次数:5 
这是求一元二次方程的代码,可以运行,但是算法错了,得不到正确答案,求指导
#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c,dis,p,q;
    printf("please intput a;b;c:");
    scanf("%lf%lf%lf",&a,&b,&c);
    dis=b*b-4*a*c;
    p=-b/(2*a);
    if(a!=0)
    {
   
        if(dis>=0)
        {
            
            q=sqrt(dis)/(2*a);
            if(dis==0)
                printf("root1=root2=%7.2lf\n",p);
            else
                printf("root1=%7.2lf\root2=%7.2lf\n",p+q,p-q);
            
        }
        else
        {
            dis=-dis;
            q=sqrt(dis)/(2*a);
            printf("root1=%7.2lf+%7.2lfi\troot2=%7.2lf-%7.2lfi",p,q,p,q);
        }
    }
    else
      printf("root=%7.2lf\n",-c/b);
      return 0;
        
}
搜索更多相关主题的帖子: 正确答案 include please double 
2015-03-31 19:27
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
得分:0 
那就百度一下 找个正确的代码 编译运行一下看看

Only the Code Tells the Truth             K.I.S.S
2015-03-31 19:27
longwu9t
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:6
帖 子:732
专家分:2468
注 册:2014-10-9
得分:0 
https://bbs.bccn.net/search.php?searchid=90&orderby=lastpost&ascdesc=desc&searchsubmit=yes
这还只是本论坛C版中的搜索结果

我再也找不到更多的说辞了

Only the Code Tells the Truth             K.I.S.S
2015-03-31 19:29
夏日_
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-3-31
得分:0 
已经自己改好了,可以正确运行了。谢谢各位大神
#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c,dis,p,q;
    printf("please intput a;b;c:");
    scanf("%lf%lf%lf",&a,&b,&c);
    dis=b*b-4*a*c;
    p=-b/(2*a);
    if(a!=0)
    {
   
        if(dis>=0)
        {
            
            q=sqrt(dis)/(2*a);
            if(dis==0)
                printf("root1=root2=%7.2lf\n",p);
            else
                printf("root1=%7.2f\t  root2=%7.2f\n",p+q,p-q);
            
        }
        else
        {
            dis=-dis;
            q=sqrt(dis)/(2*a);
            printf("root1=%7.2f+%7.2fi\t root2=%7.2f-%7.2fi",p,q,p,q);
        }
    }
    else
      printf("root=%7.2f\n",-c/b);
      return 0;
        
}
2015-03-31 19:39
夏日_
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2015-3-31
得分:0 
已经自己改好了,可以正确运行了。谢谢各位大神
#include<stdio.h>
#include<math.h>
int main()
{
    double a,b,c,dis,p,q;
    printf("please intput a;b;c:");
    scanf("%lf%lf%lf",&a,&b,&c);
    dis=b*b-4*a*c;
    p=-b/(2*a);
    if(a!=0)
    {
   
        if(dis>=0)
        {
            
            q=sqrt(dis)/(2*a);
            if(dis==0)
                printf("root1=root2=%7.2lf\n",p);
            else
                printf("root1=%7.2f\t  root2=%7.2f\n",p+q,p-q);
            
        }
        else
        {
            dis=-dis;
            q=sqrt(dis)/(2*a);
            printf("root1=%7.2f+%7.2fi\t root2=%7.2f-%7.2fi",p,q,p,q);
        }
    }
    else
      printf("root=%7.2f\n",-c/b);
      return 0;
        
}
2015-03-31 19:39
c语缘
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-3-18
得分:0 
太复杂了,而且特殊情况呢?试过么
2015-04-01 09:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-443331-1-1.html




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

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