题解 | #中位数#

中位数

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;
} 

全部评论

相关推荐

10-10 17:54
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务