题解 | #记票统计#
记票统计
http://www.nowcoder.com/practice/3350d379a5d44054b219de7af6708894
//将候选人名字作为字符串存储,按题目要求,遇到空格键,结束读取字符串,用scanf
#include<stdio.h>
#include<string.h>
int main(){
char astr[100][50]={'\0'},bstr[100][50]={'\0'};
int a=0,b=0;
while(scanf("%d",&a)==1){
//读取候选人名字。选择不支持空格键的scanf读取名字的字符串
for(int i=0;i<a;i++)
scanf("%s",&astr[i][0]);
scanf("%d",&b);
for(int j=0;j<b;j++)
scanf("%s",&bstr[j][0]);
//统计
int count[100]={0},invalid;
invalid=b;
for(int i=0;i<a;i++){
for(int j=0;j<b;j++){
if(strcmp(astr[i],bstr[j])==0)
count[i]++;
}
invalid-=count[i];
}
//输出
for(int i=0;i<a;i++)
printf("%s : %d\n",astr[i],count[i]);
printf("Invalid : %d",invalid);
}
}