编写一个模拟投票系统,有20个人要对3个人(1、2、3号)进行投票,要求统计每个人的得票数和弃权票数,并将结果输出C语言完整代码
时间: 2024-02-15 15:04:00 浏览: 118
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int vote[3] = {0}; // 存储得票数
int waiver = 0; // 存储弃权票数
int i, v;
printf("请20个人进行投票(输入1、2、3表示对应编号的人,输入0表示弃权):\n");
for (i = 1; i <= 20; i++) {
printf("第%d个人的投票:", i);
scanf("%d", &v);
switch (v) {
case 1:
vote[0]++;
break;
case 2:
vote[1]++;
break;
case 3:
vote[2]++;
break;
default:
waiver++;
break;
}
}
printf("\n投票结果如下:\n");
printf("1号得票%d,占比%.2f%%\n", vote[0], (float) vote[0] / (20 - waiver) * 100);
printf("2号得票%d,占比%.2f%%\n", vote[1], (float) vote[1] / (20 - waiver) * 100);
printf("3号得票%d,占比%.2f%%\n", vote[2], (float) vote[2] / (20 - waiver) * 100);
printf("弃权票数%d,占比%.2f%%\n", waiver, (float) waiver / 20 * 100);
return 0;
}
```
这个程序使用了一个 for 循环,依次读入 20 个人的投票。将每个人的投票结果使用 switch-case 语句进行统计,最后计算出每个候选人的得票数和弃权票数,并输出投票结果。
你可以运行这个程序来模拟投票过程,例如:
```
请20个人进行投票(输入1、2、3表示对应编号的人,输入0表示弃权):
第1个人的投票:1
第2个人的投票:2
第3个人的投票:3
第4个人的投票:1
第5个人的投票:2
第6个人的投票:0
第7个人的投票:1
第8个人的投票:3
第9个人的投票:3
第10个人的投票:2
第11个人的投票:1
第12个人的投票:2
第13个人的投票:2
第14个人的投票:0
第15个人的投票:1
第16个人的投票:3
第17个人的投票:2
第18个人的投票:1
第19个人的投票:3
第20个人的投票:3
投票结果如下:
1号得票5,占比31.25%
2号得票7,占比43.75%
3号得票4,占比25.00%
弃权票数3,占比15.00%
```
希望这个程序能够满足你的需求!
阅读全文