Run ID:70874
提交时间:2024-04-20 12:08:55
#include <iostream> using namespace std; int main() { const int NUM_CANDIDATES = 3; // 候选人的数量 int votes[NUM_CANDIDATES] = {0}; // 存储每个候选人的得票数 int totalVotes = 0; // 总票数 int currentVote; // 当前读取到的选票 // 读取选票,直到读到-1 while (cin >> currentVote && currentVote != -1) { if (currentVote >= 1 && currentVote <= NUM_CANDIDATES) { votes[currentVote - 1]++; // 更新对应候选人的票数,数组索引从0开始 totalVotes++; // 总票数加一 } } // 输出每个候选人的得票数 for (int i = 0; i < NUM_CANDIDATES; ++i) { cout << "Candidate " << char('A' + i) << ": " << votes[i] << endl; } // 检查是否有人得票数过半 bool elected = false; for (int i = 0; i < NUM_CANDIDATES; ++i) { if (votes[i] > totalVotes / 2) { // 注意:这里用整数除法,所以如果有偶数票则会自动向下取整 cout << "Candidate " << char('A' + i) << "-yes" << endl; elected = true; break; } } // 如果没有人得票数过半,则输出all-NO if (!elected) { cout << "all-NO" << endl; } return 0; }