如何修复此输出?

时间:2016-02-25 06:13:43

标签: c

我的代码输出存在问题,无法找出问题或需要添加/删除的内容。这是我的代码:

#include <stdio.h>

int main()
{
  int array[100], n, c, d, swap;

  printf("Enter number of elements to be sorted:");
  scanf("%d", &n);





  for (c = 0; c < n; c++)
    scanf("%d", &array[c]);

  for (c = 0 ; c < ( n - 1 ); c++)
  {
    for (d = 0 ; d < n - c - 1; d++)
    {
      if (array[d] > array[d+1]) 
      {
        swap       = array[d];
        array[d]   = array[d+1];
        array[d+1] = swap;
      }
    }
  }


  for ( c = 0 ; c < n ; c++ )
  {

    printf("Enter next element:");
     printf("%d\n", array[c]);

  }



  for ( c = 0 ; c < n ; c++ )
  {
      printf("%d\n", array[c]);
  }



  return 0;
}

这是输出

Enter·number·of·elements·to·be·sorted:8↵
Enter·next·element:8↵
1↵
Enter·next·element:7↵
2↵
Enter·next·element:6↵
3↵
Enter·next·element:1↵
4↵
Enter·next·element:2↵
5↵
Enter·next·element:3↵
6↵
Enter·next·element:4↵
7↵
Enter·next·element:5↵
8↵
1↵
2↵
3↵
4↵
5↵
6↵
7↵
8↵

我不希望“输入下一个元素:”行的每一行下的数字,并且无法弄清楚如何摆脱它们。请提前谢谢你!

2 个答案:

答案 0 :(得分:1)

在您的代码中:

for ( c = 0 ; c < n ; c++ )
{ 
 printf("Enter next element:");
 printf("%d\n", array[c]);
}

删除第二个printf()语句。

for ( c = 0 ; c < n ; c++ )
{
printf("Enter next element:");
}

答案 1 :(得分:0)

删除它:

for ( c = 0 ; c < n ; c++ )
{ 
 printf("Enter next element:");
 printf("%d\n", array[c]);
}

并替换:

  for (c = 0; c < n; c++)
    scanf("%d", &array[c]);

由:

  for (c = 0; c < n; c++)
  {
    printf("Enter next element: ");
    scanf("%d", &array[c]);
  }

这真是微不足道。