杭电acm1004不知为何总是wrong,代码如下
#include<stdio.h>#include<string.h>structcolor{charc[16];intn;};intmain(){intN,i,j=0,...
#include<stdio.h>
#include <string.h>
struct color
{
char c[16];
int n;
};
int main()
{
int N,i,j=0,k,flag=0,max,m;
char c[16];
struct color cl[1000]={{'\0',0}};
scanf("%d",&N);
while(N!=0)
{
for(i=0;i<N;i++)
{
scanf("%s",c);
for(k=0;k<j;k++)
{
if(strcmp(cl[k].c,c)==0)
{
cl[k].n++;
flag=1;
break;
}
}
if(flag==0)
{
strcpy(cl[j].c,c);
j++;
cl[k].n++;
}
flag=0;
}
max=cl[0].n;
m=0;
for(k=1;k<j;k++)
if(cl[k].n>max)
m=k;
printf("%s\n",cl[m].c);
for(i=0;i<j;i++)
{
cl[i].n=0;
for(k=0;k<16;k++)
cl[i].c[k]='\0';
}
j=0;
scanf("%d",&N);
}
return 0;
} 展开
#include <string.h>
struct color
{
char c[16];
int n;
};
int main()
{
int N,i,j=0,k,flag=0,max,m;
char c[16];
struct color cl[1000]={{'\0',0}};
scanf("%d",&N);
while(N!=0)
{
for(i=0;i<N;i++)
{
scanf("%s",c);
for(k=0;k<j;k++)
{
if(strcmp(cl[k].c,c)==0)
{
cl[k].n++;
flag=1;
break;
}
}
if(flag==0)
{
strcpy(cl[j].c,c);
j++;
cl[k].n++;
}
flag=0;
}
max=cl[0].n;
m=0;
for(k=1;k<j;k++)
if(cl[k].n>max)
m=k;
printf("%s\n",cl[m].c);
for(i=0;i<j;i++)
{
cl[i].n=0;
for(k=0;k<16;k++)
cl[i].c[k]='\0';
}
j=0;
scanf("%d",&N);
}
return 0;
} 展开
1个回答
展开全部
#include<stdio.h>
#include <string.h>
struct color
{
char c[16];
int n;
};
int main()
{
int N, i, j = 0, k, flag = 0, max, m;
char c[16];
struct color cl[1000] = { { '\0', 0 } };
scanf("%d", &N);
while (N != 0)
{
for (i = 0; i < N; i++)
{
scanf("%s", c);
for (k = 0; k < j; k++)
{
if (strcmp(cl[k].c, c) == 0)
{
cl[k].n++;
flag = 1;
break;
}
}
if (flag == 0)
{
strcpy(cl[j].c, c);
j++;
cl[k].n++;
}
flag = 0;
}
max = cl[0].n;
m = 0;
for (k = 1; k<j; k++)
if (cl[k].n>max) {
// 你忘记改max了
max = cl[k].n;
m = k;
}
printf("%s\n", cl[m].c);
for (i = 0; i < j; i++)
{
cl[i].n = 0;
for (k = 0; k < 16; k++)
cl[i].c[k] = '\0';
}
j = 0;
scanf("%d", &N);
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询