首页 > 代码库 > 交换输出

交换输出

描述输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。(如果这个第一个数就是最小的数,则保持原样输出,如果最小的数有相同的按照前面的交换)

 
输入
输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。
输出
对于每组输入数据,输出交换后的数列,每组输出占一行。
样例输入
4 2 1 3 45 5 4 3 2 10
样例输出
1 2 3 41 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 }

 

 

交换输出