C语言结构体练习--选票系统 📅 2026/6/22 7:32:57 #include stdio.h #include string.h // 候选人结构体存储姓名与得票数 struct XuanMin { char name[32]; // 候选人姓名 int tickets; // 得票数量 }; int main() { struct XuanMin xm[3]; // 存储3位候选人 struct XuanMin max; // 记录最高票候选人 int feipiao 0; // 废票计数器 int i; int len; int j; int mark 0; char tempname[32]; len sizeof(xm) / sizeof(xm[0]); // 录入候选人并初始化票数 for(i 0; i len; i) { xm[i].tickets 0; printf(请输入第%d个候选人的名字\n, i1); scanf(%s, xm[i].name); } // 进行5次投票 for(i 0; i 5; i) { mark 0; printf(请输入你想投给谁\n); memset(tempname, \0, sizeof(tempname)); scanf(%s, tempname); for(j 0; j len; j) { if(strcmp(tempname, xm[j].name) 0) { xm[j].tickets; mark 1; break; } } if(mark 0) { printf(没有此候选人该票作废\n); feipiao; } } // 输出所有候选人得票 printf(\n 投票结果 \n); for(i 0; i len; i) { printf(候选人%s 票数%d\n, xm[i].name, xm[i].tickets); } printf(废票总数%d\n\n, feipiao); max xm[0]; for(i 1; i len; i) { if(xm[i].tickets max.tickets) { max xm[i]; } } printf(得票最高候选人%s票数%d\n, max.name, max.tickets); printf(并列第一名名单); for(i 0; i len; i) { if(xm[i].tickets max.tickets) { printf(%s , xm[i].name); } } printf(\n); return 0; }