Как использовать массив в функции переключения? - PullRequest
0 голосов
/ 30 марта 2019

Я прошу пользователя дать мне 10 целочисленных значений для массива А1, а затем я печатаю эти значения на экране консоли. Я сделал / сделаю то же самое для другого массива B1. Затем я печатаю список параметров, например, вариант 1: «Сортировать значения A1 в порядке возрастания». Поскольку это школьное задание, я должен использовать оператор switch-case, но у меня возникают проблемы с доступом к массивам с теми же значениями снова, и программа не дает мне возможности даже нажать 1, для варианта 1.

Я пытался понять некоторые коды онлайн, но безуспешно, это то, что я получил до сих пор.

  int option;

        scanf("%d", &option);

        switch (option)
        {
            case '1':

                for( int i= 0; i<10; i++)
                {
                    for(int x = i +1; x<10; x++)
                    {
                        if (a[x]<a[i])
                        {
                            int temp = a[i];
                            a[i]= a[x];
                            a[x] = temp;
                        }
                    }
                {
                    printf("\n\n Ascending Order For A1: ");
                    for (int i = 0; i < 10; i++)
                    {
                        printf(" %d ", a[i]);

                    }

ЭТО, КАК НАДЕЖДА С ВЫХОДОМ << </p>

Пожалуйста, введите 10 значений для A1: 2 3 4 5 9 8 7 6 4 8

10 значений, выбранных для A1: 2 3 4 5 9 8 7 6 4 8

Пожалуйста, введите 10 значений для B2: 4 3 7 2 6 8 9 5 8 12

10 значений, выбранных для B2: 4 3 7 2 6 8 9 5 8 12


  • Пожалуйста, выберите один из следующих вариантов: *

  • 1: сортировка значений A1 в порядке возрастания *

  • 2: сортировка значений B1 по убыванию *
  • 3: Вычислить сумму элементов A1 и B1 *
  • 4: вычесть элементы B1 из элементов A1 *
  • 5: завершить программу (выход) *

1 <<<<<<<<<<< ЭТО ПРЕДПОЛАГАЕТСЯ ДЛЯ ВЫПОЛНЕНИЯ ВАРИАНТА 1 И ВЫХОДНЫХ ЗНАЧЕНИЙ А1 В ПОРЯДКЕ. </p>

Программа завершилась с кодом выхода: 0

1 Ответ

0 голосов
/ 30 марта 2019

вы сохраняете входные данные в значении int, но в вашем случае вы используете char, поэтому 1(int) не равно 1(char), поэтому case '1': не выполняется.Попробуйте

case 1:

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

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