题解 | #记票统计#
记票统计
https://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894
//接续上一个解法,利用字符串操作函数strcmp减少一层循环(当然还有其它方法可以一层一层简化,这里提供思路之一)
#include <stdio.h>
#include<string.h>
int main()
{
int n=0,t=0,i=0,j=0,p[100]={0},np=0,count=0;
char arr1[100][100],arr2[100][100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%s",arr1[i]);
}
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%s",arr2[i]);
}
for(j=0;j<t;j++)
{
for(i=0;i<n;i++)
{
if(strcmp(arr2[j],arr1[i]))
{
continue;
}
else
{
p[i]++;
count++;
}
}
}
np=t-count;
for(i=0;i<n;i++)
{
printf("%s : %d\n",arr1[i],p[i]);
}
printf("Invalid : %d\n",np);
return 0;
}
查看1道真题和解析