文章

64

粉丝

100

获赞

4

访问

36.1k

头像
删除最大最小数 题解:
P1022 贵州大学机试题
发布于2024年3月21日 15:08
阅读数 578

也出现了75%,看大佬们的解法发现没有考虑max和min相等的问题,用掐头去尾解决问题

#include <bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	scanf("%d",&n);
	int a[105]={0};
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	int min=a[0],max=a[0];
	for(int i=1;i<n;i++)
	{
		if(a[i]>max)
		max=a[i];
		if(a[i]<min)
		min=a[i];
	}
	if(max==min)//说明输入的数据都是一样的 
	{
		for(int i=1;i<n-1;i++)
		printf("%d ",a[i]); 
	}
	else
	{
		int j=0;
	for(int i=0;i<n;i++)
	{
		a[i-j]=a[i];
		if(a[i]==max||a[i]==min)
		j++;
		
	}
	for(int i=0;i<n-j;i++)
	{
		printf("%d ",a[i]);
	}
	 } 
	
 } 

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发