赞
踩
给出n个数字,请你求出在给出的这n个数字当中,最大的数字与次大的数字之差,最大的数字与次小的数字之差,次大的数字与次小的数字之差,次大的数字与最小的数字之差
#include<iostream>
#include<vector>
#include<set>
using namespace std;
int main()
{
set<int>s;
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
s.insert(x);
}
vector<int>a(s.begin(),s.end());
int leg=s.size();
printf("%d %d %d %d\n",a[leg-1]-a[leg-2],a[leg-1]-a[1],a[leg-2]-a[1],a[leg-2]-a[0]);
return 0;
}
c++ set用法
#include<set> #include<iostream> using namespace std; int main() { set<int>s; int n; cin>>n; for(int i=1;i<=n;i++) { int x; cin>>x; s.insert (x); } set<int>::iterator it; for(it=s.begin ();it!=s.end ();it++) 遍历输出排序后的数字 { printf("%d\n",*it); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。