- 以下是该题的题目和输入输出要求:
- 解题思路:该题即选择一个序列中最小的数与序列中第一个数交换,可以利用简单选择排序算法,且只需一趟排序后即可得到正确的输出结果。
- 解决代码如下:
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 int n; 7 while(cin>>n) 8 { 9 if(n==0) 10 { 11 break; 12 } 13 int num[100]; 14 for(int i=0;i<n;i++) //输入 15 { 16 cin>>num[i]; 17 } 18 int k=1; 19 for(int j=0;j<n;j++) 20 { 21 if(num[j]<num[k]) 22 { 23 k=j; 24 } 25 } 26 int temp=num[0]; //交换 27 num[0]=num[k]; 28 num[k]=temp; 29 for(int i=0;i<n;i++) //输出结果 30 { 31 if(i==n-1) 32 { 33 cout<<num[i]; 34 } 35 else 36 cout<<num[i]<<" "; 37 } 38 cout<<endl; 39 } 40 return 0; 41 }