欢迎光临
我们一直在努力

C语言结构体练习--选票系统

#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;
}

赞(0)
未经允许不得转载:171主机测评 » C语言结构体练习--选票系统
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址