c - CS50,复数问题,给出错误的结果
问题描述
这是CS50的多个问题我找不到解决问题,请帮助
PS我现在有另一个问题,如果有2个选民,1是Alice,2nd是Bob,程序应该打印出两个作为获胜者,但是它给出了第一个候选人作为获胜者,如何处理它?
//根据新投票更新投票总数
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;
}
//打印选举的获胜者(otwinnings)
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
解决方案
我刚刚完成了这个问题,你需要做的是在你的第一个“for”循环中打印第一个获胜者(在你的例子的第 8 行),这样它将打印第一个获胜者,然后返回并打印与他们并列的任何人。
推荐阅读
- javascript - pentaho cde table 组件选择不同的数据源
- batch-file - 如何回显变量,“^&”在哪里?(批处理文件)
- amazon-web-services - 无法从服务器获得任何响应
- python - 当我点击 Heroku Postgres 时出现此错误消息 {"error":{"id":"unauthorized","message":"Invalid credentials provided."}}
- javascript - angularjs - 组合来自 for 循环 api 调用的数据
- javascript - React 应用程序和用户角色
- visual-studio-code - Microsoft Visual Studio Code 无法启动
- angular - How to make ng build watching multiple apps?
- python - how to update column in a oracle table and commit after each record update by using python and cx_Oracle
- angular - PrimeNG 控件未触发的反应式表单