文章
5
粉丝
161
获赞
15
访问
19.9k
代码不难,但是要注意最大值和最小值相等时(看了别人代码才发现),这个时候代表输入的数字都是相等的,这个时候只需输出一个就行。但我不到为啥要输出,而且输出一个就行。从题意来看,要是都相等的话,去除最大和最小,那是掐头去尾呢,还是都删没了呢?
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
int a[101];
int b[101];
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n;i++)
b[i]=a[i];
stable_sort(a,a+n);
if(a[0]==a[n-1])cout<<a[0]<<" ";
for(int i=0;i<n;i++)
{
if(b[i]!=a[0]&&b[i]!=a[n-1])
cout<<b[i]<<" ";
}
return 0;
}
登录后发布评论
如果都相等,掐头去尾就可以了