Перевести программу из PascalABC в С(Си) - C (СИ)
Формулировка задачи:
uses crt;
var a,b,c,x:real;
begin
writeln('Введите b,c');
read(b,c);
if(b=0)or(c=0)then write('Функция не определена')
else
begin
x:=(b+c)/(5*b*c);
if x<0 then write('Функция не определена')
else
begin
a:=sqrt(x)-b*b/(2*c);
write('a=',a:0:2)
end
end
end.Решение задачи: «Перевести программу из PascalABC в С(Си)»
textual
Листинг программы
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, x;
scanf("%f%f", &b, &c);
if ((b == 0) || (c == 0)) {
printf("function is not defined\n");
}
else {
x = (b + c) / (5 * b * c);
if (x < 0) {
printf("function is not defined\n");
}
else {
a = sqrt(x) - b * b / (2 * c);
printf("a = %.2f\n", a);
}
}
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек:
и - Объявление переменных: a, b, c, x (тип данных - float)
- Ввод значений переменных b и c с помощью функции scanf
- Проверка на то, что b и c не равны нулю, иначе выводится сообщение об ошибке
- Вычисление значения x по формуле (b + c) / (5 b c)
- Проверка на то, что x меньше нуля, иначе выводится сообщение об ошибке
- Вычисление значения a по формуле sqrt(x) - bb/(2c)
- Вывод значения переменной a с помощью функции printf
- Завершение программы с помощью return 0