C 插入排序程序,无输出

C 插入排序程序,无输出,c,insertion,C,Insertion,这是最简单的插入排序程序。 不幸的是,它没有提供结果: 它会提示用户输入数组的大小 对于数字列表,但它不起作用 那种。我将非常感谢你的帮助 /** Insertion sort **/ #include <stdio.h> int main (void) { int size, array[80], i, j, element; printf("Enter number of elements: \n"); scanf ("%d", &size);

这是最简单的插入排序程序。 不幸的是,它没有提供结果: 它会提示用户输入数组的大小 对于数字列表,但它不起作用 那种。我将非常感谢你的帮助

/** 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 integers\n", 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;
 }
/**插入排序**/
#包括
内部主(空)
{
整数大小,数组[80],i,j,元素;
printf(“输入元素数:\n”);
scanf(“%d”,大小(&S);
printf(“输入%d个整数\n”,大小);
对于(i=0;i0&&array[j-1]>元素)
{
数组[j]=数组[j-1];
数组[j-1]=元素;
j--;
}
}
printf(“按升序排序的列表:\n”);
对于(i=0;i
这是一个令人困惑的时刻:) 我忘记了有一个'\n'字符 在第二个printf中,之后用户 提示输入列表。因此,我一直在打字 在一行数字中,不按ENTER键;当然 程序认为这是一个数字,只有一个整数 谢谢大家的回复。
很抱歉。

使用输入测试了
5 2 3 4 5
5 4 3 2 1
5 8 4 1 5 1
,对他们所有人来说,这个程序似乎工作正常。你能提供你的输入吗?
printf(“%d”,数组[i])在每个数字后打印一个空格程序工作(MSVC),按上面的注释添加一个空格。为什么添加空格会使它显示输出?我会建议在结尾添加一个换行符。所有数字之间都没有分隔符这一事实在这里不应该有什么区别。也许你的标准输出是关闭的或者是内部的,因为代码对我有用