Эта программа вводит вводимые числа от пользователя и сортирует их по возрастанию.Сортировка списка целых чисел в порядке возрастания - C
Когда пользователь нажимает «Enter» без ввода целого числа, программа перестает принимать цифры и сортирует цикл.
Моя программа не перестает принимать цифры, она застревает в бесконечном цикле чисел. Почему это?
#include <stdio.h>
#include "genlib.h"
SortIntegerArray()
{
int i, k, n, Array[200];
for (i = 0; i < 200; ++i)
{
for (k = i+1; k < 200; ++k)
{
if (Array[i] > Array[k])
{
n = Array[k];
Array[i] = Array[k];
Array[k] = n;
}
}
}
}
main()
{
int i, k, n, Array[200], number;
i = 0;
n = 0;
printf("Enter numbers\n");
number = GetInteger();
for (i = 0; i < 200; ++i)
{
if (number == "")
{
break;
}
scanf("%d", &Array[i]);
}
printf("The input array is: %d", Array[200]);
SortIntegerArray();
printf("The sorted array is: %d", Array[200]);
}
Пожалуйста, отредактируйте ваш вопрос, чтобы включить реализацию 'GetInteger()'. Спасибо за улучшение ссылочного значения вопроса и привлечение его к ответственности! –
Вы должны получить сообщение компилятора о строке 'number ==" "'. Это ошибка. Это хорошая идея, чтобы исправить все проблемы, которые вызывают сообщения компилятора (даже если он говорит только «предупреждение»), прежде чем пытаться запустить программу. –
В этой программе также есть несколько других основных ошибок; мы надеемся, что любой учебный ресурс, который вы используете, содержит некоторое описание того, как использовать массивы и как передавать параметры в функции. –