Пойдет ли эта программа на Turbo C? - C (СИ)
Формулировка задачи:
У меня один компилятор не выдает ошибки в программе,а другой выдает.А мы в институте пользуемся turbo c,и я не знаю,пойдет она или нет
#include <stdio.h>
#include <conio.h>
int main()
{
float A,B,C;
printf ("\n\t Vvedite chisla cherez probel:");
scanf ("%f %f %f" ,&A,&B,&C);
printf("\n\t Chisla %f i %f i %f" ,A,B,C);
if(A/2+B/2+C/2 > 0)
{
if(A<B && A<C)
A=A*A;
else
if(B<A && B<C)
B=B*B;
else
if(C<A && C<B)
C=C*C;
}
else
{
if(A<0) A=A/2;
if(B<0) B=B/2;
if(C<0) C=C/2;
}
printf("\n\t Vivod chisel:%f %f %f",A,B,C);
getch();
return 0;
}Решение задачи: «Пойдет ли эта программа на Turbo C?»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
#define strong_three_min(a, b, c) (((a) < (b)) && ((a) < (c)))
int main()
{
float A, B, C;
printf("Get the numbers through spaces\n");
scanf("%f %f %f", &A, &B, &C);
printf("numbers are: A=%f B=%f C=%f\n", A, B, C);
if ((A + B + C) / 2 > 0)
if (strong_three_min(A, B, C))
A *= A;
else if (strong_three_min(B, C, A))
B *= B;
else if (strong_three_min(C, B, A))
C *= C;
else ;
else
{
if (A < 0)
A /= 2;
if (B < 0)
B /= 2;
if (C < 0)
C /= 2;
}
printf("output numbers: A=%f B=%f C=%f\n", A, B, C);
getchar();
exit (EXIT_SUCCESS);
}
Объяснение кода листинга программы
- Программа на языке C.
- Задача программы - вычисление и приведение к положительным значениям трех чисел, если они отрицательны.
- В начале программы объявляются три переменные типа float A, B, C для ввода чисел.
- Далее, с помощью функции scanf, вводятся три числа через пробелы.
- Затем, с помощью функции printf, выводятся введенные числа.
- Следующий блок if/else проверяет сумму трех чисел. Если она больше нуля, то проверяется, какое из чисел меньше двух других.
- Если число A меньше двух других, то оно умножается на себя.
- Если число B меньше двух других, то оно умножается на себя.
- Если число C меньше двух других, то оно умножается на себя.
- Если сумма трех чисел меньше нуля, то проверяется, какое из чисел отрицательное.
- Если число A отрицательное, то оно делится на два.
- Если число B отрицательное, то оно делится на два.
- Если число C отрицательное, то оно делится на два.
- После всех проверок, выводятся результаты вычислений.
- В конце программы вызывается функция exit с кодом EXIT_SUCCESS.
- Программа ожидает ввода/вывода на стандартный ввод/вывод.
- Программа завершается успешно.