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);
	}
}

posted @ 2022-10-03 18:58  131452lin  阅读(24)  评论(0编辑  收藏  举报