6、编写一个模拟投票系统,有20个人要对3个人(1、2、3号)进行投票,要求统计每个人的得票数和弃权票数,并将结果输出,用c语言数组表达
时间: 2024-02-15 08:03:48 浏览: 74
好的,以下是实现此功能的 C 语言代码:
```c
#include <stdio.h>
int main() {
int votes[4][2] = {0}; // 定义一个二维数组存储投票结果,第一列存储得票数,第二列存储弃权数
for (int i = 1; i <= 20; i++) {
printf("第 %d 位选民,请投票(1、2、3号候选人,输入其他数字表示弃权):", i);
int vote;
scanf("%d", &vote);
if (vote >= 1 && vote <= 3) {
votes[vote][0]++; // 投给候选人,得票数加一
} else {
votes[0][1]++; // 弃权,弃权数加一
}
}
printf("投票结果如下:\n");
for (int i = 1; i <= 3; i++) {
printf("候选人 %d 的得票数为:%d\n", i, votes[i][0]);
}
printf("弃权票数为:%d\n", votes[0][1]);
return 0;
}
```
使用方法:运行程序后,按照提示逐个输入选民的投票结果,当输入其他数字时表示弃权。程序会自动统计每个候选人的得票数和弃权票数,并输出结果。
相关问题
编写一个模拟投票系统,有20个人要对3个人(1、2、3号)进行投票,要求统计每个人的得票数和弃权票数,并将结果输出
好的,我可以为您提供一个Python的简单实现,如下所示:
```python
# 先定义3个人的得票数和弃权票数均为0
num1 = num2 = num3 = num_abstain = 0
# 循环20次,让每个人进行投票
for i in range(20):
vote = input("请输入第%d个人的投票结果(1、2、3或者A表示弃权):" % (i+1))
if vote == "1":
num1 += 1
elif vote == "2":
num2 += 1
elif vote == "3":
num3 += 1
else:
num_abstain += 1
# 输出每个人的得票数和弃权票数
print("1号得票数为:%d" % num1)
print("2号得票数为:%d" % num2)
print("3号得票数为:%d" % num3)
print("弃权票数为:%d" % num_abstain)
```
运行上述代码后,您可以依次输入每个人的投票结果,最后会输出每个人的得票数和弃权票数。希望可以帮助到您。
c语言编写一个模拟投票系统,有20个人要对3个人(1、2、3号)进行投票,要求统计每个人的得票数和弃权票数,并将结果输出
好的,以下是使用C语言实现该模拟投票系统的代码:
```c
#include <stdio.h>
int main() {
int num1 = 0, num2 = 0, num3 = 0, num_abstain = 0;
char vote;
for (int i = 1; i <= 20; i++) {
printf("请输入第%d个人的投票结果(1、2、3或者A表示弃权):", i);
scanf(" %c", &vote);
switch (vote) {
case '1':
num1++;
break;
case '2':
num2++;
break;
case '3':
num3++;
break;
default:
num_abstain++;
break;
}
}
printf("1号得票数为:%d\n", num1);
printf("2号得票数为:%d\n", num2);
printf("3号得票数为:%d\n", num3);
printf("弃权票数为:%d\n", num_abstain);
return 0;
}
```
类似于Python实现,我们也定义了每个人的得票数和弃权票数,并使用for循环让每个人进行投票。使用switch语句根据输入的投票结果来增加相应人员的得票数,最后输出结果。
需要注意的是,我们在输入投票结果时使用了一个空格来避免scanf函数读取上一次输入的回车符,这样就可以正常输入字符了。
希望这个C语言实现的示例能够对您有所帮助。
阅读全文