Упорядочены ли по возрастанию три вещественные переменные? - C (СИ)
Формулировка задачи:
Надо решить задачу. У меня при решении выводит те же числа что и вводил не могу понять где напортачил.
Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C.
#include <conio.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
main()
{
double a, b, c ;
printf("BBeDite 3 checla a b c\n") ;
scanf("%d%d%d", &a, &b, &c);
if (((a>b)&&(b>c)))
{a=(a*2);
b=(b*2);
c=(c*2);}
else
{a=(-a); b=(-b); c=(-c);}
printf("a= %d\n", a);
printf("b= %d\n", b);
printf("c= %d\n", c) ;
getch() ;
}Решение задачи: «Упорядочены ли по возрастанию три вещественные переменные?»
textual
Листинг программы
if(b - a >= 0 && c - b >= 0) /* не строго упорядочены */ if(b - a > 0 && c - b > 0) /* строго упорядочены */
Объяснение кода листинга программы
- В условии первого блока if проверяется, что разница между переменной b и a больше или равна нулю, а разница между переменной c и b больше или равна нулю. Это означает, что переменные могут быть упорядочены, но не обязательно строго.
- Во втором блоке if проверяется, что разница между переменной b и a больше нуля, а разница между переменной c и b также больше нуля. Это означает, что переменные строго упорядочены.