题解 | #中位数#

中位数

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

全部评论

相关推荐

昨天 17:22
已编辑
西安交通大学 Java
华为 昇腾 ai软件开发 薪资20k x (14-16),职级13A,5%公积金,c/cpp
BLOOMING7:闭眼滴滴,华子给的又少又累
点赞 评论 收藏
分享
10-09 22:05
666 C++
找到工作就狠狠玩CSGO:报联合国演讲,报电子烟设计与制造
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务