灌水区大佬多
  • 板块灌水区
  • 楼主cfear1
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/7/12 11:50
  • 上次更新2024/7/12 13:48:14
查看原帖
灌水区大佬多
1247703
cfear1楼主2024/7/12 11:50

题目如下:

数字计算
描述

给出n个数字,请你求出在给出的这n个数字当中,最大的数字与次大的数字之差,最大的数字与次小的数字之差,次大的数字与次小的数字之差,次大的数字与最小的数字之差.


输入
给出n个数字,请你求出在给出的这n个数字当中,最大的数字与次大的数字之差,最大的数字与次小的数字之差,次大的数字与次小的数字之差,次大的数字与最小的数字之差.


输出
输出四个整数,表示答案.


输入样例 1 
5
4 1 3 2 3

输出样例 1
1 2 1 2

输入样例 2 
7
6 7 2 1 9 3 2

输出样例 2
2 7 5 6

提示

样例1说明:最大的数字为4,次大的数字为3,次小的数字为2,最小的数字为1,所以得出差值即可.

样例2说明:最大的数字为9,次大的数字为7,次小的数字为2,最 小的数字为1,所以得出差值即可.



备注:
对于30%的数据,保证n≤8
对于60%的数据,保证n≤16
对于100%的数据,保证n≤100
对于所有数据,保证每个数字小于等于100且不同数字的个数大于4


我的代码(40分):

#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main(){
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	cin>>a[i];
	for(int i=n;i>=1;i--){
		for(int j=1;j<i;j++){
			if(a[j]<a[j+1])
				swap(a[j],a[j+1]);
		}
 }
cout<<a[1]-a[2]<<" "<<a[1]-a[n-1]<<" "<<a[2]-a[n-1]<<" "<<a[2]-a[n]; 
}

大佬求调!!!

2024/7/12 11:50
加载中...