交换输出
- 描述
- 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。(如果这个第一个数就是最小的数,则保持原样输出,如果最小的数有相同的按照前面的交换)
- 输入
- 输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。
- 输出
- 对于每组输入数据,输出交换后的数列,每组输出占一行。
- 样例输入
- 4 2 1 3 4
- 5 5 4 3 2 1
- 0
- 样例输出
- 1 2 3 4
- 1 4 3 2 5
1 #include <stdio.h> 2 3 int main(){ 4 int n; 5 int number[101]; 6 int i; 7 int min; 8 int flag; 9 int temp; 10 11 while(1){ 12 scanf("%d",&n); 13 14 if(n==0) 15 break; 16 17 for(i=0;i<n;i++) 18 scanf("%d",&number[i]); 19 20 flag=0; 21 min=number[0]; 22 23 for(i=0;i<n;i++){ 24 if(number[i]<min){ 25 min=number[i]; 26 flag=i; 27 } 28 } 29 30 temp=number[0]; 31 number[0]=number[flag]; 32 number[flag]=temp; 33 34 for(i=0;i<n;i++){ 35 if(i!=0) 36 printf(" "); 37 38 printf("%d",number[i]); 39 } 40 printf("\n"); 41 } 42 return 0; 43 }