cs50 pset 3,打印赢家功能不工作

q0qdq0h2  于 2023-10-16  发布在  其他
关注(0)|答案(1)|浏览(121)
// 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;
}

在这个函数中,我的代码中出现了一个问题,这个问题是函数本身的问题,还是其他的问题?

j8ag8udp

j8ag8udp1#

在有3个投票人的决选中,由于使用了round,此函数将仅打印拥有3票的候选人。利用C截断整数除法的事实。

相关问题