【发布时间】:2020-12-12 10:53:53
【问题描述】:
我正在尝试处理投票功能,有两个问题想寻求您的帮助:
- 在投票函数定义中,我们有:
bool vote(int rank, string name, int ranks[])
我不明白 rank 参数是做什么用的,为什么在这里声明它?
- 我对投票功能的解决方案如下:
// Update ranks given a new vote
bool vote(int rank, string name, int ranks[])
{
for (int j = 0; j < candidate_count; j++)
{
for (int k = 0; k < candidate_count; k++)
{
//Compare the name provided by the user with the name of the candidates numbered jth in the array candidates[MAX] which already populated above
if (strcmp(name, candidates[k]) == 0)
{
ranks[j] = k;
printf("ranks[%d] = %d\n", j, k);
}
}
return true;
}
return false;
}
printf函数的结果如下(候选人= {a,b,c}, voter_count = 2):
排名1:a, 排名[0] = 0; 等级2:b, 排名[0] = 1; 等级 3:c, 排名[0] = 2; 等级1:c, 排名[0] = 2; 等级2:b, 排名[0] = 1; 等级 3:一个, 排名[0] = 0
rank[j] 中 j 的值没有更新。我该如何解决这个问题?
非常感谢您的帮助!
【问题讨论】: