题解 | #记票统计#

记票统计

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
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务