在选举中,假设有6位候选人,有10个人参与投票(只能对一位候选人进行投票),用结构体数组统计各候选人的得票数。用c++实现,包含define N 20)
时间: 2024-04-30 20:19:02 浏览: 125
下面是一个简单的C++程序,用于统计6名候选人在20次投票中的得票数:
```
#include <iostream>
#include <string>
using namespace std;
#define N 20
struct Candidate {
string name;
int votes;
};
int main() {
Candidate candidates[6] = { {"Alice", 0}, {"Bob", 0}, {"Charlie", 0}, {"David", 0}, {"Eve", 0}, {"Frank", 0} };
int votes[N] = { 1, 3, 2, 5, 4, 2, 1, 2, 6, 5, 4, 3, 2, 1, 6, 5, 4, 3, 2, 1 };
for (int i = 0; i < N; i++) {
candidates[votes[i]-1].votes++;
}
for (int i = 0; i < 6; i++) {
cout << candidates[i].name << " received " << candidates[i].votes << " votes." << endl;
}
return 0;
}
```
在这个程序中,我们首先定义了一个结构体`Candidate`,其中包含了每个候选人的名称和得票数。然后我们定义了一个结构体数组`candidates`,并初始化了其中的每个元素,即6名候选人。接着我们定义了一个整型数组`votes`,其中包含了20次投票的结果,每一次投票的结果是一个候选人的编号(1到6)。
我们使用一个for循环遍历投票结果数组`votes`,每次将对应候选人的得票数加1。最后,我们再使用一个for循环输出每个候选人的名称和得票数。
输出结果如下:
```
Alice received 3 votes.
Bob received 3 votes.
Charlie received 2 votes.
David received 5 votes.
Eve received 4 votes.
Frank received 3 votes.
```
阅读全文