哪位大佬帮我找找bug
查看原帖
哪位大佬帮我找找bug
445603
报错报错报错楼主2021/8/28 20:31
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>

using namespace std;

int n;
int ans=1;

struct person
{
	char name[35];
	char job[35];
	int g;
	int s;
	int number;
}a[150],temp;

bool cmp(person a,person b)
{
	if(a.g>b.g) return true;
	else if(a.g=b.g)
	{
		if(a.number<b.number) return true;
		else return false;
	}
	else return false;
}

bool cmpp(person a,person b)
{
	if(strcmp(a.job,b.job)==0)
	{
		if(a.s>b.s) return true;
		else if(a.s==b.s)
		{
			if(a.number<b.number) return true;
			else return false;
		}
		else return false;
	}
	else return false;
}

int main()
{
	cin>>n;
	for(int i=0;i<n;i++)
	{
		cin>>a[i].name>>a[i].job>>a[i].g>>a[i].s;
		a[i].number=i;
	}
	for(int i=0;i<n;i++)
	{
		if(strcmp(a[i].job,"BangZhu")==0)
		{
			strcpy(temp.name,a[i].name);
			strcpy(temp.job,a[i].job);
			temp.g=a[i].g;
			temp.s=a[i].s;
			temp.number=a[i].number;
			
			strcpy(a[i].name,a[0].name);
			strcpy(a[i].job,a[0].job);
			a[i].g=a[0].g;
			a[i].s=a[0].s;
			a[i].number=a[0].number;
			
			strcpy(a[0].name,temp.name);
			strcpy(a[0].job,temp.job);
			a[0].g=temp.g;
			a[0].s=temp.s;
			a[0].number=temp.number;
		}
		if(strcmp(a[i].job,"FuBangZhu")==0)
		{
			strcpy(temp.name,a[i].name);
			strcpy(temp.job,a[i].job);
			temp.g=a[i].g;
			temp.s=a[i].s;
			temp.number=a[i].number;
			
			strcpy(a[i].name,a[ans].name);
			strcpy(a[i].job,a[ans].job);
			a[i].g=a[ans].g;
			a[i].s=a[ans].s;
			a[i].number=a[ans].number;
			
			strcpy(a[ans].name,temp.name);
			strcpy(a[ans].job,temp.job);
			a[ans].g=temp.g;
			a[ans].s=temp.s;
			a[ans].number=temp.number;
			
			ans++;
		}
	}
	
	sort(a+3,a+n,cmp);
	
	for(int i=3;i<sizeof(a)/sizeof(person);i++)
	{
		if(i>=3&&i<=4) strcpy(a[i].job,"HuFa");
		else if(i>=5&&i<=8) strcpy(a[i].job,"ZhangLao");
		else if(i>=9&&i<=15) strcpy(a[i].job,"TangZhu");
		else if(i>=16&&i<=30) strcpy(a[i].job,"JingYing");
		else strcpy(a[i].job,"BangZhong");
	}
	
	sort(a+1,a+n,cmpp);
	
	for(int i=0;i<n;i++)
	{
		cout<<a[i].name<<' '<<a[i].job<<' '<<a[i].s;
		if(i!=n-1) cout<<endl;
	}
	return 0;
}
2021/8/28 20:31
加载中...