我的代码输出存在问题,无法找出问题或需要添加/删除的内容。这是我的代码:
#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↵
我不希望“输入下一个元素:”行的每一行下的数字,并且无法弄清楚如何摆脱它们。请提前谢谢你!
答案 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]);
}
这真是微不足道。