#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int n,m;
int a[100]={0};
while(cin>>n>>m){
if(n==0&&m==0){
break;
}
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
if(m<a[i]){
swap(m,a[i]);
}
}//因为数据是有序的,整个循环下来,m就和最大值交换了位置
for(int i=0;i<n;i++){
cout<<a[i]<<" ";
}
cout<<m<<endl;
}
}
总结,个人认为,这道题关键之处在于利用循环来找出数组a中的最大值,然后再依次交换m和a【i】的值。这里交换两个值,用到了算法头文件algorithm里面的swap()函数。
最后祝愿大家AC顺利通过!