求助
查看原帖
求助
648072
yby0516楼主2023/12/30 17:33

求助

为什么op=1(cz中a=1)时查找排名出问题

#include<bits/stdc++.h>
using namespace std;
int q,size=0,minn=2147483647,maxn=-2147483647;
int c1[10010];
int cz(int a,int b)
{
	if(a==1)
	{
		sort(c1,c1+size);
		for(int i=0;i<size;i++)
		{
			if(c1[i]==b){
				return i+1;
			}
		}
	}
	if(a==2)
	{
		int p=1;
		sort(c1,c1+size);
		for(int i=0;i<size;i++)
		{
			if(p==b) return c1[i];
			
			p++;
		}
	}
	if(a==3)
	{
		maxn=-2147483647;
		for(int i=0;i<size;i++)
		{
			if(c1[i]<b) maxn=max(maxn,c1[i]);
		}
		return maxn;
	}
	if(a==4)
	{
		minn=2147483647;
		for(int i=0;i<size;i++)
		{
			if(c1[i]>b) minn=min(minn,c1[i]);
		}
		return minn;
	}
	
}
void zj(int y)
{
	c1[size]=y;
	size++;
}
int main()
{
	cin>>q;
   for(int i=1;i<=q;i++)
   {
   	    int op,x;
   	  	cin>>op>>x;
   	  	if(op!=5)
   	  		cout<<cz(op,x)<<endl;
	  	else zj(x); 
   }	
} 
2023/12/30 17:33
加载中...