c语言 ACM一题
发布网友
发布时间:2022-05-16 19:17
我来回答
共2个回答
热心网友
时间:2024-02-29 16:07
while(scanf("%d",&n)&&n!=0)
改为while(scanf("%d",&n)!=EOF&&n!=0)
还有,你的程序基本不对,又不是只有6种颜色(真不知道你这六种颜色从哪里弄来的,前面五个你是从样例里面摘过来的,还添加了一个"black"),这个程序基本不可改了,最好还是重写一个吧。
热心网友
时间:2024-02-29 16:07
#include<stdio.h>
#include<string.h>
int main()
{
int num;
while(scanf("%d",&num) == 1 && num)
{
char a[1000][16] = {0}, b[16];
int i, l, max = 0, size = 0, count[1000] = {0};
for(i = 0; i < num; i++)
{
scanf("%s",b);
int pd = 1;
for(l = 0; *a[l]; l++)
if(!strcmp(a[l],b)) { count[l]++; pd = 0; break; }
if(pd) { strcpy(a[size],b); count[size++]++; }
}
for( i = 0; *a[i]; i++)
count[i] > max ? max = count[i], size = i : 0;
printf("%s\n",a[size]);
}
return 0;
}