bool vote(string name)
{
// TODO
for (int i = 0; i < candidate_count; i++)
{
if (strcmp(candidates[i].name, name) == 0) //W's
{
candidates[i].votes++;
return true;
}
else if (strcmp(candidates[i + 1].name, name) == 0)
{
candidates[i].votes++;
return true;
}
else
{
return false;
}
}
return 0;
}
// Print the winner (or winners) of the election
void print_winner(void)
{
// TODO
for (int i = 0; i < candidate_count; i++)
{
if (candidates[0].votes > candidates[i].votes)
{
printf("%s", candidates[0].name); // 0 = bob/ first
break;
}
else
{
printf("%s\n", candidates[1].name);
}
}
}
字符串
我需要打印选举的赢家,但我似乎不能把我的头绕在这周围,任何帮助都将非常感谢,请不要给予我答案,我需要的Angular 来看,所以我可以弄清楚请不要只是交给我,与说我仍然需要的答案dumbed下来一点
2条答案
按热度按时间ru9i0ody1#
以下是一些提示:
vote()
函数中,应该测试每个候选名称,直到找到匹配。该循环迭代所有候选项,因此似乎没有必要在循环中一次测试多个候选项。print_winner()
函数中,您应该确定最佳分数,然后打印所有具有该分数的候选人,因为可能会有平局。您可以使用两个单独的循环来实现这一点。要解决像这样的简单编程问题,想想你用笔和纸解决问题的步骤,把这些步骤分解成非常基本的任务,并把这些基本步骤翻译成C代码。
wj8zmpe12#
这就像在一个数组中找到最大的数字。