// Print the winner of the election, if there is one
bool print_winner(void)
{
// TODO
float votes2win;
//Votes could be odd number so would need to be rounded
int rounded_votes;
votes2win = voter_count / 2;
rounded_votes = round(votes2win);
for (int i = 0; i < candidate_count; i++)
{
if (candidates[i].votes > rounded_votes)
{
printf("%s\n", candidates[i].name);
return true;
}
}
return false;
}
在这个函数中,我的代码中出现了一个问题,这个问题是函数本身的问题,还是其他的问题?
1条答案
按热度按时间j8ag8udp1#
在有3个投票人的决选中,由于使用了
round
,此函数将仅打印拥有3票的候选人。利用C截断整数除法的事实。