2)有10位候选人,编号为1~10。现有100人参与投票,计算每位候选人的得票数

有10位候选人,编号为1~10。现有100人参与投票,计算每位候选人的得票数。运 行程序时,输入数据6,5,8,3,9,6,5,7,5,,1,7,4,10,5,5,6,8,9,6,验证运行结果。

参考GPT和自己的思路:

根据您提供的信息,我们可以使用计数排序算法来计算每位候选人的得票数。具体步骤如下:

  1. 创建一个长度为10的数组count,用于存储每个候选人的得票数。
  2. 遍历输入的投票数据,对于每一个得票的候选人编号,将其在count数组对应的位置上加1。
  3. 遍历count数组,输出每位候选人的得票数。

下面是验证运行结果的程序:

votes = [6,5,8,3,9,6,5,7,5,1,7,4,10,5,5,6,8,9,6]
count = [0] * 10  # 初始化为0

for vote in votes:
    count[vote - 1] += 1  # 投票者和编号之间的差为1

for i in range(10):
    print("候选人{}的得票数为:{}".format(i+1, count[i]))

输出结果如下:

候选人1的得票数为:1
候选人2的得票数为:0
候选人3的得票数为:1
候选人4的得票数为:1
候选人5的得票数为:5
候选人6的得票数为:4
候选人7的得票数为:2
候选人8的得票数为:2
候选人9的得票数为:2
候选人10的得票数为:1

可以看出,程序输出的结果符合验证数据。