Как упростить сравнение 4 чисел с помощью if?

На вход подается четыре числа, нужно сделать так, чтобы пользователь ввел разные целые числа.
Как скомпоновать такую форму записи:

start:
scanf("%d %d %d %d",&a ,&b, &c, &d);
if(a!=b&&a!=c);
    else{
        printf("Not good, repeat\n");
        goto start;
    }
if(a!=d&&b!=d);
    else{
        printf("Not good, repeat\n");
        goto start;
    }
if(b!=c&&c!=d);
    else{
        printf("Not good, repeat\n");
        goto start;
    }
  • Вопрос задан
  • 963 просмотра
Пригласить эксперта
Ответы на вопрос 4
yellow79
@yellow79
Senior Software Engineer
Складываешь чиселки в мапу, сет или что там есть в Си, далее если длина не равна числу входных чиселок, значит есть совпадения.
Ответ написан
delphinpro
@delphinpro
frontend developer
$Maccив = ПолучитьМассивЧисел()
ОтсортироватьМассив($Массив)
$Врем = 0
Цикл $Число Из $Массив
  Если $Число == $Врем То 
    Принт("Есть совпадение")
    ОстановитьЦикл
    ВыйтиИзПодпрограммы
  Иначе
    $Врем = $Число
Ответ написан
32bit_me
@32bit_me
Программист, встраиваемые системы
if(a == b || a == c || a == d || b == c || b == d || c == d) {
    printf("Not good, repeat\n");
}
else {
// start hete
// ...
}
Ответ написан
BacCM
@BacCM
C++ почти с рождения
Чем проще написать тем лучше. Если значений только четыре и не предполагается это количество менять. То просто написать условие. Но лучше эту проверку вынести в правильно названую функцию, чтобы читающий код понимал что происходит.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы