4838:习题2-4-8 一元二次方程求根

Time Limit: 1 SecMemory Limit: 12 MB

Submit: 173Solved: 88

[Submit][Status][Web Board]

Description

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

Input

三个用空格隔开的整数a、b、c,分别表示一元二次方程的系数,并保证a不为0。

Output

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

Sample Input

8 -25 4

Sample Output

0.1692 2.9558

参考:https://zhidao.baidu.com/question/488806343577608812.html


#include

#include

void prime(float a,float b,float c){

float flag=b*b-4*a*c;

//printf("%f",flag);

if(flag==0){//一个实根

float x;

x=(-b)/(2*a);

printf("%.4f\n",x);

}

if(flag>0)//两个不同的根

{

float x1,x2;

x1=((-b)+sqrt(flag))/(2*a);

x2=((-b)-sqrt(flag))/(2*a);

printf("%.4f %.4f\n",x2,x1);

}

else printf("no answer\n");

}

int main(){

float a,b,c;

scanf("%f%f%f",&a,&b,&c);

prime(a,b,c);

return 0;

}

你可能感兴趣的:(4838:习题2-4-8 一元二次方程求根)