题解 | #中位数#

中位数

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

全部评论

相关推荐

合适才能收到offe...:招聘上写这些态度傲慢的就别继续招呼了,你会发现hr和面试官挺神的,本来求职艰难就可能影响一些心态了,你去这种公司面试的话,整个心态会炸的。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务