Код не компилируется - C (СИ) (75064)
Формулировка задачи:
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,d;
scanf("%lf%lf%lf",&a,&b,&c);
d=pow(b,2)-(4*a*c);
if(d>0)
if(d==0)
{
x1=-b/(2*a);
printf("%lf",x1);
}
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
}
if(x1<x2)
printf("%lf %lf",x2,x1);
else
printf("%lf %lf",x1,x2);
else
printf("No solution");
return 0;
}Решение задачи: «Код не компилируется»
textual
Листинг программы
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,x1,x2,d;
scanf("%lf%lf%lf",&a,&b,&c);
d=pow(b,2)-(4*a*c);
if(d>0) {
if(d==0)
{
x1=-b/(2*a);
printf("%lf",x1);
}
else
{
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
}
if(x1<x2)
printf("%lf %lf",x2,x1);
else
printf("%lf %lf",x1,x2);
}
else
printf("No solution");
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с математическими функциями и вводом/выводом данных.
- Объявляем переменные типа double для хранения значений a, b, c, x1, x2 и d.
- С помощью функции scanf() считываем значения переменных a, b и c с помощью пользовательского ввода.
- Вычисляем значение переменной d как квадрат переменной b, деленный на 4ac.
- Проверяем условие: если d больше нуля, то переходим к следующему блоку, иначе выводим сообщение
No solutionи завершаем работу программы. - В блоке условий проверяем, равно ли значение переменной d нулю. Если да, то вычисляем значение x1 по формуле x1 = -b/(2*a) и выводим его на экран.
- Если значение переменной d не равно нулю, то вычисляем значения x1 и x2 по формулам x1 = (-b+sqrt(d))/(2a) и x2 = (-b-sqrt(d))/(2a) соответственно.
- Сравниваем значения x1 и x2 и выводим их на экран в нужном порядке.
- Завершаем работу программы.