某单位进行选举,有5位候选人:李宁、王新、赵广、陈奇、六六。编写一个统计每人得票数的程序。要求每一个人的信息使用一个结构体表示,5个人的信息使用结构体数组。C语言
时间: 2024-02-21 15:01:16 浏览: 167
好的,下面是代码:
```c
#include <stdio.h>
#include <string.h>
struct Candidate {
char name[20];
int votes;
};
int main()
{
struct Candidate candidates[5] = {
{"李宁", 0},
{"王新", 0},
{"赵广", 0},
{"陈奇", 0},
{"六六", 0}
};
int n;
printf("请输入投票人数:");
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
char name[20];
printf("请输入第%d个投票人的姓名:", i + 1);
scanf("%s", name);
for (int j = 0; j < 5; j++)
{
if (strcmp(name, candidates[j].name) == 0)
{
candidates[j].votes++;
break;
}
}
}
printf("投票结果如下:\n");
for (int i = 0; i < 5; i++)
{
printf("%s:%d票\n", candidates[i].name, candidates[i].votes);
}
return 0;
}
```
这个程序中,我们定义了一个结构体 `Candidate`,包含了候选人的姓名和得票数。然后我们定义了一个结构体数组 `candidates`,包含了5个候选人的信息。在主函数中,我们先用键盘输入投票人数 `n`,然后循环输入每个投票人的姓名,并在候选人列表中查找对应的候选人,并增加他的得票数。最后,我们输出每个候选人的得票数。
需要注意的是,在查找候选人时,我们使用了 `strcmp` 函数来比较字符串是否相等。这个函数需要包含头文件 `string.h`。
阅读全文