Требовалось написать программу, которая решает уравнение ax2+bx+c=0 относительно х для действительных чисел а, Ь, с, введенных с клавиатуры, о которых заведомо известно, что а<>0, b<>0 и c<>0. Была написана следующая программа:
#include <stdio.h>
#include <math.h>
main()
{
double a,b,c,D, x1,x2;
scanf("%f%f%f%f%f",&a,&b,&c,&x1,&x2);
D=b*b-4*a*c;
if (D>0) {
x1=(-b+sqrt(D))/(2*a);
x2=(-b-sqrt(D))/(2*a);
printf("x1=%f",x1); printf("x2=%f",x2);
}
else printf("Действительных корней нет");
}
Известно, что программа написана с ошибками. Последовательно выполните три задания:
1. Приведите пример таких чисел а, Ь, с, при которых программа неверно решает поставленную задачу.
2. Укажите, какая часть программы является лишней.
3. Укажите, как, по-вашему мнению, нужно доработать программу, чтобы не было случаев ее неправильной работы.