сравнить символ на основе приоритета ASCII - PullRequest
0 голосов
/ 15 октября 2018

Я сделал код, который сравнивает три символа и сортирует их по старшему и младшему приоритетам на основе числа ASCII.первый ввод для решения многих случаев, а затем введите три символа для сортировки.например, если мы введем & ^ % то, что мы ожидаем для вывода, будет Case #1: % & ^.

#include <stdio.h>

int main(){
    int cases, counter = 1;
    char ch1, ch2, ch3, storage;
    scanf("%d", &cases);
    getchar();

    while(counter <= cases){
        scanf("%c %c %c", &ch1, &ch2, &ch3);

        //process

        while(ch1 < ch2 < ch3){
            if(ch1 < ch2){
                storage = ch1;
                ch1 = ch2;
                ch2 = storage;
            }
            if(ch2 < ch3){
                storage = ch2;
                ch2 = ch3;
                ch3 = storage;
            }
        }

        //end process

        printf("case #%d: %c %c %c\n", counter, ch1, ch2, ch3);
        counter++;
    }

    return 0;
}

, но оно застряло после ввода трех символов, оно не будет отображать вывод, и я не могу ввести любые символы дляследующий случай.

1 Ответ

0 голосов
/ 15 октября 2018

Вы застряли в цикле while, попробуйте переформатировать сравнение.

while((ch1 < ch2) || (ch2 < ch3))
...