pku2658.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 71 行

CPP
71
字号
#include <stdio.h>
#include <string.h>

char sta[4][50];

int cmp(int a, int b)
{
	return strcmp(sta[a], sta[b]);
}

int main()
{
	int t, i, j, l;
	char s[50];
	
	scanf("%d\n", &t);
	
	while (t--)
	{
		for (i = 0; i < 4; i++)
		{
			gets(s);
			l = strlen(s);
			for (j = l - 1; j >= 0; j--)
			{

				if (s[j]== ' ' || s[j] == 'a' || s[j] == 'e' || s[j] == 'i' || s[j] == 'o' || s[j] == 'u'
				 || s[j] == 'A' || s[j] == 'E' || s[j] == 'I' || s[j] == 'O' || s[j] == 'U')
				{
					break;
				}
			}
			if (j < 0 || s[j] == ' ') j++;
			strcpy(sta[i], &s[j]);
		}
		
		for (i = 0; i < 4; i++)
		{
			for (j = 0; j < strlen(sta[i]); j++)
			{
				if (sta[i][j] <= 'Z')
				{
					sta[i][j] = sta[i][j] -'A' + 'a';	
				}	
			}	
		}
		
		if (cmp(0, 1) == 0 && cmp(1, 2) == 0 && cmp(2, 3) == 0)
		{
			printf("perfect\n");	
		}
		else if(cmp(0, 1) == 0 && cmp(1, 2) != 0 && cmp(2, 3) == 0)
		{
			printf("even\n");	
		}
		else if(cmp(0, 2) == 0 && cmp(1, 3) == 0 && cmp(1, 2) != 0)
		{
			printf("cross\n");	
		}	
		else if(cmp(0, 3) == 0 && cmp(1, 2) == 0 && cmp(2, 3) != 0)
		{
			printf("shell\n");	
		}
		else
		{
			printf("free\n");	
		}	
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?