Программа решения квадратного уравнения - C (СИ)
Формулировка задачи:
Всем добрый день.
Столкнулся с таким вопросом, а точнее проблемой. Нашел в интернете код для решения квадратного уравнения. Решил узнать алгоритм работы такого кода. Но вот назрел такой вопрос: 1) Как сделать так, если я к примеру напишу в консоль заместо коэффициентов(a,b,c) какой нибудь текст , например "hello world" и т.д., и чтобы в консоли появилась после этого надпись, которая сообщит об ошибке и попросит сделать ввод повторно(снова).
2) И как добавить плюс ко всему этому коду, функцию которая будет вычислять комплексно-сопряженные корни.
Буду благодарен любому совету,любой помощи. Спасибо.
С уважением.
автор исходного кода:
www.webnoob.org
#include <stdio.h> #include <math.h> main() { float a,b,c; printf("vvedite a, b, c: "); scanf("%f %f %f", &a, &b, &c); if(a == 0) { if(b == 0) { if(c == 0) { printf("x - lyboe 4islo"); } else { printf("kornei net"); } } else { printf ("x = %g", -c/b); } } else { float d, x1, x2; d = b * b - 4 * a * c; if(d < 0) { printf("kornei net"); } else { if(d == 0) { printf("x= %g", -b/(2*a)); } else { printf("x1= %g, x2= %g",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)); } } } return 0; }
Решение задачи: «Программа решения квадратного уравнения»
textual
Листинг программы
if (d<0) { Re = -b/(2*a); Im = sqrt(-d)/(2*a); printf("x1=%g + i%g\n", Re, Im); printf("x2=%g - i%g\n", Re, Im); }
Объяснение кода листинга программы
- В данном коде решается квадратное уравнение вида
ax^2 + bx + c = 0
- Переменные a, b и c содержат коэффициенты этого уравнения
- Переменная d содержит дискриминант уравнения, вычисленный по формуле
d = b^2 - 4ac
- Если дискриминант отрицательный (d < 0), то уравнение не имеет вещественных корней
- В этом случае программа вычисляет комплексные корни уравнения с помощью формул
x1 = (-b + sqrt(d))/(2a)
иx2 = (-b - sqrt(d))/(2a)
- Значения корней сохраняются в переменных Re и Im соответственно
- С помощью функции printf() выводятся значения корней на экран
- Формат вывода соответствует
x1 = real + i imag
, где real и imag - вещественная и мнимая части комплексного числа соответственно - Выводится значение первого корня (x1)
- Выводится значение второго корня (x2)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д