输入格式: 首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。每组测试先输入1个整数n(1<=n<=100)表示聚会人数,再输入n个字符串(长度不超过7且仅包含小写字母),每个字符串表示一个人的生肖。 输出格式: 对于每组测试,按描述要求输出结果,每种出现的生肖及其人数占一行,每行的两个数据之间以一个空格间隔。每两组测试数据之间留一个空行。 输入样例: 2 4 tiger rabbit dragon rabbit 5 tiger rabbit dragon rabbit dragon 输出样例: rabbit 2 dragon 1 tiger 1 dragon 2 rabbit 2 tiger 1 提示: 鼠、牛、虎、兔、龙、蛇、马、羊、猴、鸡、狗、猪等十二生肖相应的英文单词如下: rat、ox、tiger、rabbit、dragon、snake、horse、goat、monkey、rooster、dog、pig 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB用C语言
时间: 2023-06-12 09:04:48 浏览: 192
以下是一份参考代码:
#include <stdio.h>
#include <string.h>
int main()
{
int T;
scanf("%d", &T);
while (T--)
{
int n;
scanf("%d", &n);
int count[12] = {0}; // 用于统计每个生肖出现的次数
char animal[12][8] = {"rat", "ox", "tiger", "rabbit", "dragon", "snake", "horse", "goat", "monkey", "rooster", "dog", "pig"}; // 定义生肖字符串数组
for (int i = 0; i < n; i++)
{
char s[8];
scanf("%s", s);
for (int j = 0; j < 12; j++)
{
if (strcmp(s, animal[j]) == 0) // 如果字符串相等,说明这个生肖出现了一次
{
count[j]++;
break;
}
}
}
for (int i = 0; i < 12; i++)
{
printf("%s %d\n", animal[i], count[i]);
}
if (T > 0) // 多组测试数据之间要留一个空行
{
printf("\n");
}
}
return 0;
}
阅读全文
相关推荐

















