CCF 201903-1 小中大

本文介绍了一个使用C++实现的程序,该程序读取一系列整数输入,并计算这些数值的中位数。此外,程序还记录了输入序列中的最大值和最小值。在输出中,程序以特定格式展示这三个关键数值:最大值、中位数和最小值。此程序展示了如何在C++中处理数组、进行条件判断和使用流输入输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include<bits/stdc++.h>
using namespace std;

int main()
{
	int n;
	cin>>n;
	int m1,m2;
	double mid=0;
	int temp;
	bool flag=(n%2==0);
	//int count=0;
	/* 
	int midk;
	if(n%2==0) midk=n/2-1;  //中间两个中的第一个 
	else midk=(n+1)/2-1;
	*/
	for(int i=0;i<n;i++)
	{
		cin>>temp;
		if(i==0) m1=temp;
		if(i==n-1) m2=temp;
		if((i==(n-1)/2||i==(n-1)/2+1)&&flag)
		{
			mid+=temp*1.0/2;  //转换为double型 
		}
		if(i==(n-1)/2&&!flag)
		{
			mid=temp;
		}
	} 
	if(m1<m2) swap(m1,m2);
	
	if(mid-(int)mid==0)
	{
		cout<<m1<<" "<<(int)mid<<" "<<m2;
	} 
	else
	{
		//cout<<m1<<" ";
		printf("%d %.1f %d",m1,mid,m2);
		//cout<<m2; 
	}
	
	

	//cout<<m1<<" "<<mid<<" "<<m2;
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值