题解 | #中位数#
中位数
https://www.nowcoder.com/practice/2364ff2463984f09904170cf6f67f69a
//程序总不通过的原因可能是没有注意到边界条件,除了n=0之外,n停止输入也是退出循环的条件!!! #include<iostream> #include<algorithm> using namespace std; int main(){ int n; //scanf("%d",&n); while( cin>>n && n!=0 ){ //特别注意边界条件,除了n=0之外,n停止输入也是退出循环的条件!!! int a[10000]; for(int i=0;i<n;i++){ scanf("%d",&a[i]); } sort(a,a+n); if(n%2==0){ int k=(a[n/2-1]+a[n/2])/2; cout<<k<<endl; } else{ int k=a[n/2]; cout<<k<<endl; } //scanf("%d",&n); } return 0; }