文章

5

粉丝

161

获赞

15

访问

19.9k

头像
75%问题
P1022 贵州大学机试题
发布于2023年2月17日 12:45
阅读数 3.8k

代码不难,但是要注意最大值和最小值相等时(看了别人代码才发现),这个时候代表输入的数字都是相等的,这个时候只需输出一个就行。但我不到为啥要输出,而且输出一个就行。从题意来看,要是都相等的话,去除最大和最小,那是掐头去尾呢,还是都删没了呢?

#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;
}

登录查看完整内容


登录后发布评论

1 条评论
admin SVIP
2023年2月17日 14:54

如果都相等,掐头去尾就可以了laugh

赞(0)