这里是CS50中的复数问题我找不到解决的问题,请帮助
P.S我现在还有另一个问题,如果有2个选民,1是爱丽丝,2nd是鲍勃该程序应同时打印出两个获胜者,但会给出第一位获胜者,如何处理?
//更新投票总数后重新投票
bool vote(string name){
for(int i=0;i<candidate_count; i++){
if(strcmp(candidates[i].name,name)==0){
candidates[i].vote++;
return true;
}
}
return false;
}
//打印选举的获胜者(其他获胜者)>>
void print_winner(void){ int MaxVote=0; string Winner; for(int i=0;i<candidate_count; i++){ if(candidates[i].vote>MaxVote){ MaxVote=candidates[i].vote; Winner=candidates[i].name; } } for(int i=0;i<candidate_count; i++){ if(candidates[i].vote==MaxVote){ printf("%s\n",Winner); return; } } }
这里是输出
~/pset3/plurality/ $ ./plurality Alice Bob
Number of voters: 2
Vote: Alice
Vote: Bob
Alice
这里是CS50的复数问题,我找不到解决的问题,请帮助PS我现在有另一个问题,如果有2个投票者,1是Alice,2nd是Bob,程序应将两者打印为...
我刚刚解决了这个问题,您需要做的是在第一个“ for”循环中打印第一个获胜者(在示例的第8行中),这样它将打印第一个获胜者,然后返回并打印与他们。