#c
#c
Вопрос:
Я прошу пользователя предоставить мне 10 целых значений для массива A1, а затем я печатаю эти значения на экране консоли. Я сделал то же самое для другого массива B1. Затем я печатаю список опций, например, вариант 1: «Сортировать значения A1 в порядке возрастания». Поскольку это школьное задание, я должен использовать инструкцию переключения регистра, но у меня возникли проблемы с повторным доступом к массивам с теми же значениями, и программа не дает мне возможности даже нажать 1 для первого варианта.
Я пытался разобраться в некоторых кодах онлайн, но безуспешно, вот что у меня пока получилось.
int option;
scanf("%d", amp;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("nn Ascending Order For A1: ");
for (int i = 0; i < 10; i )
{
printf(" %d ", a[i]);
}
ВОТ КАК ДАЛЕКО я ПРОДВИНУЛСЯ С ВЫВОДОМ <<
Пожалуйста, введите 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. Завершите программу (Exit) *
1 <<<<<<<<<<< ПРЕДПОЛАГАЕТСЯ, ЧТО ЭТО ВЫПОЛНИТ ВАРИАНТ 1 И ВЫВЕДЕТ ЗНАЧЕНИЯ A1 В ПОРЯДКЕ ВОЗРАСТАНИЯ.
Программа завершилась с кодом выхода: 0
Комментарии:
1. Наилучшей практикой было бы создать функцию, которая сортирует элементы и может использовать их в регистре .
Ответ №1:
вы сохраняете входные данные в int
значении, но в вашем случае вы используете char
, поэтому 1(int)
не равно 1(char)
, что является причиной того, что case '1':
не выполняется. Попробуйте
case 1:
По причине, по которой он не запрашивает входные данные для ввода 1
для сортировки, в буфере может быть что-то из предыдущего ввода, без остальной части кода трудно помочь вам с этой частью.