题目描述
输入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;
}