这是最简单的插入排序程序。不幸的是,它没有提供一个结果:它会提示用户输入数组的大小对于数字列表,但它不能排序。我将非常感激你的帮助!
/** Insertion sort **/
#include <stdio.h>
int main (void)
{
int size, array[80], i, j, element;
printf("Enter number of elements: n");
scanf ("%d", &size);
printf("Enter %d integersn", size);
for (i = 0; i < size; i++)
{
scanf("%d", &array[i]);
}
for (i = 0; i < size; i++)
{
element = array[i];
j = i;
while (j > 0 && array[j-1] > element)
{
array[j] = array[j-1];
array[j-1] = element;
j--;
}
}
printf ("Sorted list in ascending order:n");
for (i = 0; i < size; i++)
printf ("%d", array[i]);
return 0;
}
这是一个令人困惑的时刻。我忘了有一个'n'字符在第二次打印中,在此之后是用户提示输入列表。因此,我一直在打字在一行中输入数字,不需要按回车键;当然,程序认为它是一个数字,只有一个整数不是列表))谢谢大家的回复。不好意思