c++初级试题求挽尊……题目描述输入一个一元二次方程式 ax2+bx+c=0 (a0)的三个系数a,b,c,求它的根。

c++初级试题求挽尊……
题目描述
输入一个一元二次方程式 ax2+bx+c=0
(a<>0)的三个系数a,b,c,求它的根。
输入三个数值 a, b, c,其中a不等于0。
如果有两个实根,一个实根和无根情况,分别则输出如下:
Two different roots x1=??
, x2=??
Two same roots x=??
No real root
答案保证是整数,若有两个根则大者在前,且x1后面及x2前面均有一个空格。

输入
输入只有一行,包含三个不大于是1000的数a,b,c,其中a一定不为0。
输出
输出只有一行,为根的情况,格式如题目中要求。
样例输入
1 3 -10
样例输出
Two different roots x1=2 , x2=-5
xinghe599 1年前 已收到1个回答 举报

灯罩糕 幼苗

共回答了20个问题采纳率:95% 举报

#include
#include
int main()
{
long a,b,c;
while(1)
{
printf("请输入ax2+bx+c=0 格式的一元二次方程x2,x系数a,b和c,中间用空格隔开,a≠0,a,b,c均小于1000。");
scanf("%d %d %d"a,b,c);
if(a==0)
{
printf("数据a不合理,请重新输入。");
continue;
}
long x1,x2;
x1=(-b+sqrt(b²-4ac))/2a
x2=(-b-sqrt(b²-4ac))/2a
if(x1==x2)
{
printf("Two same roots x=%d ",x1);
}
else if((b*b-4*a*c)>0)
{
if(x1>x2)
{
printf("Two different roots x1=%d , x2=%d"x1,x2);
}
else
{
printf("Two different roots x1=%d , x2=%d"x2,x1);
}
}
else
{
printf("No real root");
}
}
}

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.019 s. - webmaster@yulucn.com