题解 | #记票统计#
记票统计
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即可