bool vote(string name)
{
for (int i = 0; i < candidate_count; i++)
{
if (strcmp(candidates[i].name, name) == 0)
{
candidates[i].votes++;
return true;
}
}
return false;
}
第一点:C语言对比字符串不能直接对比,使用if (strcmp(string[i], name) == 0)
第二点:如果正确 要为候选人增加一个数字。
void print_winner(void)
{
// TODO
int winner = 0;
for (int i = 0; i < candidate_count; i++)
{
if (candidates[i].votes > winner)
{
winner = candidates[i].votes;
}
}
for (int i = 0; i < candidate_count; i++)
{
if (winner == candidates[i].votes)
{
printf("%s\n", candidates[i].name);
}
}
return;
}
print_winner函数要求打印出得票最高的函数。
思路:先定义一个整数变量winner,然后逐个比较变量,将最大值赋予winner。最后使用winner寻找所有最高值对应的候选人名单。(符合条件的候选者可以有多个)