交换输出

描述输入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 import java.util.Scanner;
 2 
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner scanner=new Scanner(System.in);
 6         int array[]=new int[101];
 7         int n;
 8         int i;
 9         int min=0;
10         int flag=0;
11         int temp;
12         
13         while(true){
14             n=scanner.nextInt();
15             
16             if(n==0)
17                 break;
18             
19             for(i=0;i<n;i++){
20                 array[i]=scanner.nextInt();
21                 
22                 if(i==0){
23                     min=array[i];
24                     flag=0;
25                     continue;
26                 }
27                 
28                 if(array[i]<min){
29                     min=array[i];
30                     flag=i;
31                 }
32             }
33             
34             temp=array[0];
35             array[0]=array[flag];
36             array[flag]=temp;
37             
38             for(i=0;i<n;i++)
39                 System.out.print(array[i]+" ");
40             
41             System.out.println();
42         }
43     } 
44 }

 

 
posted @ 2014-11-30 01:33  zqxLonely  阅读(188)  评论(0编辑  收藏  举报