code up练习1151: C语言2.12(一元二次方程组求解)

题目描述

求方程式ax2+bx+c=0的根。

输入

三个用空格隔开的整数a、b、c,保证a不为0。

输出

方程式ax2+bx+c=0的根,若有两个不同的实根,则输出这两个实根,用空格隔开;若有一个实根,请直接输出;若没有实根,请输出“no answer”(请注意不需要输出引号)。所有的实数输出请使用C语言的默认舍入方式保留4位小数,注意行尾输出换行。

样例输入

8 -25 4

样例输出

0.1692 2.9558

代码

#include<stdio.h>
#include<math.h>
int main()
{
    int a,b,c;
    int m;
    double x1,x2;
    scanf("%d %d %d",&a,&b,&c);
    m=b*b-4*a*c;
    if(m>0)
    {
        x1=((-b)+sqrt(m))/(2.0*a);
        x2=((-b)-sqrt(m))/(2.0*a);
        printf("%.4f %.4f\n",x2,x1);
    }
    else if(m==0)
    {
        x1=(-b)/(2.0*a);
        printf("%.4f\n",x1);
    }
    else if(m<0)
        printf("no answer\n");
return 0;
}

发布了64 篇原创文章 · 获赞 4 · 访问量 4351

猜你喜欢

转载自blog.csdn.net/yuppie__1029/article/details/88311316