Problem C. S03-04 一元二次实数根
编程计算并输出一 元二次方程ax^2 +bx+c=0的两个实根
输入
a、b、c为3个浮点数,值由系统给出
输出
(1)有两个不同的实数根x1,x2(结果保留两位小数); (2)有两个相同的实数根x1=x2(结果保留两位小数); (3)没有实数根输出:No solution
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a, b, c;
double deta, num1, num2;
scanf("%d %d %d", &a, &b, &c);
deta = b * b - (4 * a * c);
if (deta < 0)
{
printf("No solution");
}
else if (deta == 0)
{
num1 = ((-b) + sqrt(deta)) / (2 * a);
printf("x1=x2= %.2f\n",num1);
}
else if (deta > 0)
{
num1 = ((-b) + sqrt(deta)) / (2 * a);
num2 = ((-b) - sqrt(deta)) / (2 * a);
printf("x1=%.2f\n",num1);
printf("x1=%.2f\n",num2);
}
}