我感到非常愚蠢'问这个问题,但是如果有人能告诉我修改输入结果的方法出现在命令窗口中。
示例:
我想按从最小到最大的顺序排序5个数字(1,3,4,7,5),命令窗口的结果必须是:
input: 1 3 4 7 5 /* 1 line input */
output: 1 3 4 5 7 /* 1 line output */
编辑: 这是我的代码
for (i = 0; i < 5; i++)
{
scanf("%d ", &array[i]);
}
如果我使用此代码,命令窗口上的结果必须是:
1
3
4
7
5
但我希望所有输入数字只有1行:
1 3 4 7 5
那么我的代码又该怎么办?
答案 0 :(得分:0)
关于您编辑过的问题,只需将"%d "
替换为"%d"
。
答案 1 :(得分:0)
#include <stdio.h>
#define N 5
int main(void){
int i, j, array[N];
printf("Please enter the %d numbers.\n", N);
printf("input : ");
for(i=0;i<N;++i){
scanf("%d", &array[i]);
if(i!=0){
for(j=i;j>0 && array[j-1] > array[j];--j){
//swap array[j] and array[j-1]
int tmp = array[j];
array[j] = array[j-1];
array[j-1] = tmp;
}
}
}
printf("output : ");
for(i=0;i<N;++i){
if(i!=0)
putchar(' ');
printf("%d", array[i]);
}
putchar('\n');
return 0;
}