#include <stdio.h>
#include <algorithm>
using namespace std;
int main(){
int N;
int buf[1000];
int i;
while (scanf("%d",&N)!=EOF){
for(i=0;i<N;i++){
scanf("%d",&buf[i]);
}
if (N==1){
printf("%d\n",buf[0]);
printf("-1\n");
}
else{
sort (buf,buf+N);
printf("%d\n",buf[N-1]);
for(i=0;i<N-2;i++){
printf("%d ",buf[i]);
}
printf("%d\n",buf[N-2]);
}
}
return 0;
#include <algorithm>
using namespace std;
int main(){
int N;
int buf[1000];
int i;
while (scanf("%d",&N)!=EOF){
for(i=0;i<N;i++){
scanf("%d",&buf[i]);
}
if (N==1){
printf("%d\n",buf[0]);
printf("-1\n");
}
else{
sort (buf,buf+N);
printf("%d\n",buf[N-1]);
for(i=0;i<N-2;i++){
printf("%d ",buf[i]);
}
printf("%d\n",buf[N-2]);
}
}
return 0;
}
所犯错误:
1.没有阅读完整题干,因为提示中说到N=1的情况,不应忽略
2.if的条件中,N==1,注意写法,不应忘记双等号