#7. 删除最大数

题目描述

输入n个数,要求找出n个数的最大值,并将最大的数删除后,再输出剩余的数。

提示,如果有多个最大的数,那么都要删除。 如果一个数也不剩下,输出”none”

输入格式

第一行:n n<=100 第二行:n个由空格隔开的整数。

输出格式

剩余的数字,用空格隔开。

样例

input

5
2 3 6 1 6

output

2 3 1

这题一定要注意“如果一个数也不剩下,输出’none‘”!

代码

#include<bits/stdc++.h>
using namespace std;
int n,i,ma=INT_MIN,a[110000],b[110000],k;//a为输入数组,b为删除最大值后的数组,ma为最大值,k是b数组的元素数。 
int main(){
    cin>>n;//输入 
    for(i=1;i<=n;i++){
        cin>>a[i];
        if(ma<a[i])ma=a[i];//寻找最大值 
    }
    for(i=1;i<=n;i++){
        if(a[i]!=ma){//判定是否为最大值,是则不存入b数组,否则存入。 
            k++;
            b[k]=a[i];
        }
    }
    if(k==0){//如果没有则输出none。 
        cout<<"none";
        return 0;
    }
    for(i=1;i<=k;i++)cout<<b[i]<<" ";//输出 
    return 0;
}