交换输出

描述
输入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 }

 

posted @ 2014-11-14 21:13  zqxLonely  阅读(353)  评论(0编辑  收藏  举报