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

