Найти вещественные корни квадратного уравнения - C (СИ)
Формулировка задачи:
Всем привет, реализуйте на Си, пожалуйста.Как мне сказали это вроде не сложно. Заранее благодарен.
Даны произвольные числа a,b,c. Найти вещественные корни уравнения ax^2+bx+c=0; Либо сообщить, что таких корней нет.
Решение задачи: «Найти вещественные корни квадратного уравнения»
textual
Листинг программы
#include <stdio.h> #include <conio.h> #include <math.h> #include <iostream> // подключил заг. файлы. void main() { int t; float a, b, c,x,D,x1,x2; printf("input a,b,c\n"); scanf_s("%f%f%f", &a, &b, &c); if (a == 0) { if (b != 0 && c != 0) { x = -c / b; t = 1; printf("x=%f ", x); printf("t=%d ", t); // t=1 одно решение } else if (b!=0&&c==0 ) { x = 0; t = 1; printf("t=%d ", t); printf("x=%f ", x); //t=1 одно решение } else if (b == 0 && c != 0) { t = 0; printf("t=%d ", t); //t=0 нет решений } else if (b == 0 && c == 0) { t = 2; printf("t=%d ", t); //t=2 бесконечное мн-во решений } } else if (a != 0 && b != 0 && c != 0) { D = (b*b) - (4 * a*c); if (D > 0) { x1 = (-b + sqrt(D)) / (2 * a); x2 = (-b - sqrt(D)) / (2 * a); t = 3; // t=3 два решения printf("x1=%f ", x1); printf("x2=%f ", x2); printf("t=%d ", t); } else if (D==0) { x = -b / (2 * a); t=1; printf("t=%d ", t); printf("x=%f ", x); //t=1 одно решение } else if (D < 0) { t = 0; printf("t=%d ", t); //t=0 нет решений } } else if (a != 0 && b != 0 && c == 0) { //ax^2+bx=0 D = b*b; x1 = (-b + sqrt(D)) / (2 * a); x2 = (-b - sqrt(D)) / (2 * a); t = 3; // t=3 два решения printf("x1=%f ", x1); printf("x2=%f ", x2); printf("t=%d ", t); } else if (a != 0 && b == 0 && c != 0) { if (c > 0 && a > 0) { t = 0; //t=0 нет корней printf("t=%d ", t); } else if (c > 0 && a < 0) { x1 = -sqrt(-c / a); x2 = sqrt(-c / a); t = 3; //t=3 два решения printf("x1=%f ", x1); printf("x2=%f ", x2); printf("t=%d ", t); } else if (c < 0 && a>0) { x1 = -sqrt(c / a); x2 = sqrt(c / a); t = 3;//t=3 два решения printf("x1=%f ", x1); printf("x2=%f ", x2); printf("t=%d ", t); } else if (c < 0 && a < 0) { t = 0;//нет решений printf("t=%d ", t); } } system("pause"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д