题解 | #记票统计#

记票统计

https://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894

#include <stdio.h>
#include <string.h>
 struct tj{
            char name[20];//注意数组与字符,其实与main函数定义区别不大
            int  num;
            };

int main() 
{
    int a, b,c,f,g,inva,aa,h,k,m;
    char s1;
    char str1[300][300]={'\0'};

    scanf("%d",&a);
    struct tj hx[a];
    aa=2*a;
    for(b=0;b<a;b++)
    { 
         scanf("%s",&hx[b].name);//输入字符串,遇到空格、换行和\0结束
         hx[b].num=0;
    }
    c=0;
    scanf("%d",&c);
    k=0;
    m=0;
    for(h=0;h<c;h++)
    {
     scanf("%s",&str1[h][0]);       //再次输入字符串
    }
    inva=0;

    for(f=0;f<c;f++)
    {
                for(g=0;g<a;g++)
                {
                    if(strcmp(str1[f],hx[g].name)==0)  //字符串比较
                    {
                        hx[g].num=hx[g].num+1;
                        m++;
                    }
                }
    } 
     for(g=0;g<a;g++)
    {
      printf("%s : %d\n",hx[g].name,hx[g].num);
    }
    printf("Invalid : %d\n",c-m);
   
    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务