数据的交换输出
Problem Description
输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。
Input
输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。
Output
对于每组输入数据,输出交换后的数列,每组输出占一行。
Sample Input
4 2 1 3 4
5 5 4 3 2 1
0
Sample Output
1 2 3 4
1 4 3 2 5
1 #include <stdio.h> 2 3 int main(){ 4 int n; 5 int number[100]; 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 if(i==0){ 21 min=number[0]; 22 flag=0; 23 } 24 25 if(number[i]<min){ 26 min=number[i]; 27 flag=i; 28 } 29 } 30 31 temp=number[0]; 32 number[0]=number[flag]; 33 number[flag]=temp; 34 35 for(i=0;i<n;i++){ 36 if(i==0) 37 printf("%d",number[0]); 38 39 else 40 printf(" %d",number[i]); 41 } 42 43 printf("\n"); 44 } 45 46 return 0; 47 }