向后误差分析与eggshel工具:从Shel范畴论到系统稳定性验证实践
2026/6/22 8:53:59
#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", i+1); 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; }