201903-1-小中大

题目

在这里插入图片描述
在这里插入图片描述

我的代码

#include <iostream>
#include<iomanip>
using namespace std;
int main(int argc, char *argv[])
{
	int n,i;
	double mid;
	cin>>n;
	int*a=new int[n]; 
	for(i=0;i<n;i++)
		cin>>a[i];
	if(n%2==1)
		mid=a[n/2];
	else
		mid=((double)a[n/2]+(double)a[n/2-1])/2;
	if(a[0]>a[n-1])
	{
		cout<<a[0]<<" ";
		if(mid==double(int(mid))) 
			cout<<int(mid);
		else
			cout<<fixed<<setprecision(1)<<mid;
		cout<<" "<<a[n-1]; 
	}
	else
	{
		cout<<a[n-1]<<" ";
		if(mid==double(int(mid))) 
			cout<<int(mid);
		else
			cout<<fixed<<setprecision(1)<<mid;
		cout<<" "<<a[0]; 
	}
	return 0;
}

坑点

一开始是85分,然后各种查资料,各种想不通,然后发现是最后如果中位数输出时,如果是整数,要强转成整数输出,这个我自己测的时候测不出来,DEVcpp里面它打印小数如果是整数就是不打印3.0而是打印3,所以一直没发现,后来改了满分通过

发布了84 篇原创文章 · 获赞 0 · 访问量 2059

猜你喜欢

转载自blog.csdn.net/qq_41985293/article/details/104268249
今日推荐