查不出错,一直说运行错误,可是网上大神们的代码复制上去就正确了,差不多啊,为啥我过不了?好想哭
#include<cstdio>
#include<algorithm>
using namespace std;
int main(){
int n,a[1001];
while(scanf("%d",&n)!=EOF){
//输入数组
//n=1
if(n==1){
int num;
scanf("%d",&num);
printf("%d\n",num);
printf("-1");
}
//n!=1
else{
for(int i=0;i<n;i++){
scanf("%d",a[i]);
}
int max=a[0],k=0;
for(int i=0;i<n;i++){
//找最大值、最大值索引-k
if(max<a[i]){ max=a[i];k=i; }
}
printf("%d\n",max);
a[k]=a[n-1];
//for(int i=k;i<n;i++){
//a[i]=a[i+1];
//}
sort(a,a+n-1);
for(int i=0;i<n-1;i++){
printf("%d ",a[i]);
}
printf("\n");
}
}
return 0;
}
好了,被这超级简单的题虐的头都昏了:
1、scanf("%d",&a[i]);
&a[i]
2、printf("-1\n");
\n
结束换行!!
数组前加取址符。。。
嗯终于正确了。
还是在大神们的代码上改好,我才知道自己的错。respect。。