欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ccf-小中大(很简单,但我确没有把输出内容,看完,导致没有100分。哭了,这个题目对输出分情况有要求)

程序员文章站 2024-03-17 21:30:28
...

ccf-小中大(很简单,但我确没有把输出内容,看完,导致没有100分。哭了,这个题目对输出分情况有要求)

思路不说,很简单啊, 我就说我的答案。

题目说如果中位数是整数,就要以整数输出,如果不是,那么就保留一个小数输出,注意这个情况就行。

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int main(){
	int i,n;
	int a[100001];
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d",&a[i]);
	}
	int max,min;
	double m=0;//题目说如果中位数是整数,就要以整数输出,如果不是,那么就保留一个小数输出,注意这个情况就行。 
	int t;
	int flag=0;
	if(n%2==0){
		if((a[n/2]+a[n/2-1])%2==0){
			t=(a[n/2]+a[n/2-1])/2;
			flag=1;
		}else{
			m=(a[n/2]+a[n/2-1])*1.0/2;
			flag=2;
		}
	}else {
		t=a[n/2];
	}
	if(a[0]>a[1]){
		max=a[0];
		min=a[n-1];
	}else {
		max=a[n-1];
		min=a[0];
	}
	if(flag!=2)
	printf("%d %d %d",max,t,min);
	if(flag==2)
	printf("%d %.1lf %d",max,m,min);
	return 0;
} 

 

相关标签: ccf