2,6,8,9点WA了,不知什么原因,还望大佬们解答
查看原帖
2,6,8,9点WA了,不知什么原因,还望大佬们解答
331019
zhouyiqing楼主2021/2/1 17:51
#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;
typedef struct Node{
	char name[32];
	char zhiwei[32];
	long int banggong;
	int dengji;
}Ren;
int main(void)
{
	int n,i,j,len,counts[6]={0};
	Ren rens[200],temp;
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		scanf("%s%s%ld%d",rens[i].name,rens[i].zhiwei,&rens[i].banggong,&rens[i].dengji);
	}
	int f=0;
	for(i=0;i<n;i++)
	{
		if(rens[i].zhiwei=="BangZhu")
		{
			temp=rens[0];
			rens[0]=rens[i];
			rens[i]=temp;
		}
		if(rens[i].zhiwei=="FuBangZhu"&&f==0)
		{
			f++;
			temp=rens[1];
			rens[1]=rens[i];
			rens[i]=temp;
		}
		if(rens[i].zhiwei=="FuBangZhu"&&f==1)
		{
			temp=rens[1];
			rens[1]=rens[i];
			rens[i]=temp;
		}
	}
	for(i=3;i<n;i++)
	{
		for(j=3;j<n-i+2;j++)
		{
			if(rens[j].banggong<rens[j+1].banggong)
			{
				temp=rens[j];
				rens[j]=rens[j+1];
				rens[j+1]=temp;
			}
		}
	}
	for(i=3;i<n;i++)
	{
		if(i>=3&&i<=4)
		{
			strcpy(rens[i].zhiwei,"HuFa");
			counts[0]++;
		}
		else if(i>=5&&i<=8)
		{
			strcpy(rens[i].zhiwei,"ZhangLao");
			counts[1]++;
		}
		else if(i>=9&&i<=15)
		{
			strcpy(rens[i].zhiwei,"TangZhu");
			counts[2]++;
		}
		else if(i>=16&&i<=40)
		{
			strcpy(rens[i].zhiwei,"JingYing");
			counts[3]++;
		}
		else
		{
			strcpy(rens[i].zhiwei,"BangZhong");
			counts[4]++;
		}
	}
	for(i=3;i<n;i++)
	{
		for(j=3;j<3+counts[0]-1;j++)
		{
			if(rens[j].dengji<rens[j+1].dengji)
			{
				temp=rens[j];
				rens[j]=rens[j+1];
				rens[j+1]=temp;
			}
		}
		for(j=5;j<5+counts[1]-1;j++)
		{
			if(rens[j].dengji<rens[j+1].dengji)
			{
				temp=rens[j];
				rens[j]=rens[j+1];
				rens[j+1]=temp;
			}
		}
		for(j=9;j<9+counts[2]-1;j++)
		{
			if(rens[j].dengji<rens[j+1].dengji)
			{
				temp=rens[j];
				rens[j]=rens[j+1];
				rens[j+1]=temp;
			}
		}
		for(j=16;j<16+counts[3]-1;j++)
		{
			if(rens[j].dengji<rens[j+1].dengji)
			{
				temp=rens[j];
				rens[j]=rens[j+1];
				rens[j+1]=temp;
			}
		}
		for(j=41;j<41+counts[4]-1;j++)
		{
			if(rens[j].dengji<rens[j+1].dengji)
			{
				temp=rens[j];
				rens[j]=rens[j+1];
				rens[j+1]=temp;
			}
		}
	}
	for(i=0;i<n;i++)
	{
		printf("%s %s %d\n",rens[i].name,rens[i].zhiwei,rens[i].dengji);
	}
	return 0;
}
2021/2/1 17:51
加载中...