题目描述
给定一个数组,输出其中第四小的整数(相等的整数只计算一次)。
输入
第一行一个正整数,4<=n<=1000.
第二行个整数,正整数的值域为[-109,109].
输出
一行一个整数。
样例输入 Copy
7
3 3 2 0 -1 -1 8
样例输出 Copy
3
#include<cstdio>
using namespace std;
int a[1000];
int main()
{
int n,i,m;
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%d",&a[i]);
for(int k=i+1;k<=n;k++){
if(a[i]>a[k]){
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
}
for(i=1;i<=n;i++){
for(int j=i+1;j<=n;j++){
if(a[i]==a[j]){
for(int l=j;l<=n;l++){
a[l]=a[l+1];
}
j=j-1;
n=n-1;
}
}
}
printf("%d",a[4]);
return 0;
}
哪里错了啊??