Перевести программу из 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек: и
  2. Объявление переменных: a, b, c, x (тип данных - float)
  3. Ввод значений переменных b и c с помощью функции scanf
  4. Проверка на то, что b и c не равны нулю, иначе выводится сообщение об ошибке
  5. Вычисление значения x по формуле (b + c) / (5 b c)
  6. Проверка на то, что x меньше нуля, иначе выводится сообщение об ошибке
  7. Вычисление значения a по формуле sqrt(x) - bb/(2c)
  8. Вывод значения переменной a с помощью функции printf
  9. Завершение программы с помощью return 0

Оцени полезность:

12   голосов , оценка 3.75 из 5