题解 | #记票统计#

记票统计

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

#include <stdio.h>
#include <strings.h>

int main() {
    char str[100][30];
    char key[100][30];
    int value[100]={0};
    int n,x;
    scanf("%d", &n);
    for (int i=0; i<n; i++) {
        scanf("%s", str[i]);
    }
    scanf("%d", &x);
    for(int j=0; j<x; j++) {
        scanf("%s", key[j]);
    }
    for(int j=0; j<x; j++) {
        for (int i=0; i<n; i++){
            if(strcmp(key[j],str[i])==0) value[i]++;
        }
    }
    int sum=0;
    for(int i=0; i<n; i++){
        printf("%s : %d\n",str[i], value[i]);
        sum=sum+value[i];
    }
    printf("Invalid : %d", x-sum);
    return 0;
}

哈希表思想,strcmp比较字符串合并相同的key即可

全部评论

相关推荐

点赞 评论 收藏
分享
伟大的烤冷面被普调:暨大✌🏻就是强
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务