用scanf函数处理输入,投票的时候每投入一张票,和候选人匹配,统计结果,这样的好处是可以无视投票者的数量,只需要给候选人分配空间。
#include "stdio.h" #include "string.h" char in_put[100][30] = {0}; char out_put[30] = {0}; int out[100] = {0}; int main(void) { int i, j, m = 0, n = 0, invalid = 0; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%s", in_put[i]); } scanf("%d", &m); for (i = 0; i < m; i++) { scanf("%s", out_put); for (j = 0; j < n; j++) { if (strcmp(out_put, in_put[j]) == 0) { out[j] ++; break; } } if (j == n) { invalid++; } } for (i = 0; i < n; i++) { printf("%s : %d\n", in_put[i], out[i]); } printf("Invalid : %d", invalid); return 0; }