题解 | #记票统计#
记票统计
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; }