//c语言代码,在冒泡排序的基础上多了两个条件判断 #include <stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { if(n==1) { int a; scanf("%d",&a); printf("%d\n-1\n",a); break; } int a[n]; int i,j; for(i=0;i<n;i++) scanf("%d",&a[i]); for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) { if(a[j]>a[j+1]) { int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } printf("%d\n",a[n-1]); for(i=0;i<n-1;i++) { if(i==n-2) { printf("%d\n",a[i]); } else { printf("%d ",a[i]); } } } return 0; }