Олимпиадный тренинг

Задача . 704


Задача

Темы:

Требовалось написать программу, которая решает уравнение  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.    Укажите, как, по-вашему мнению, нужно доработать программу, чтобы не было случаев ее неправильной работы.


time 500 ms
memory 32 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя