m0_63806909 2021-12-26 17:05 采纳率: 90%
浏览 67

有三个候选人,要求输出最终的票最高的人的名字。前三行输入三个候选人的名字,接下来有多组输入,第i+3行代表第i个选民所支持的候选人的名字。

#include<stdio.h>
#include<string.h>
struct people
{
char name[20];
int count;
}leader[3]={"yangguang",0,"Bob",0,"zhengyang",0};
int main()
{
int i,j,max,t;
char name[20];
scanf("%s",&name);
for(j=0;j<3;j++)
{
if(strcmp(name,leader[j].name)==0)
{
leader[j].count++;
}
}
max=leader[0].count;
for(i=1;i<3;i++)
{
if(leader[i].count>max)
{
max=leader[i].count;
}
}
for(i=0;i<3;i++)
{
if(max==leader[i].count)
t=i;
}
printf("%s\n",leader[t].name);
}
/*输入样例 yangguang
Bob
zhengyang
Bob
Bob
输入结果为 Bob */
有谁能帮我看看我的代码该怎么修改吗?非常感谢!

  • 写回答

1条回答 默认 最新

  • 源代码大师 领域专家: C/C++技术领域 2021-12-26 17:14
    关注

    二个嵌套的三目运算符就搞搞定了

    评论

报告相同问题?

问题事件

  • 创建了问题 12月26日