题目内容:
现在要评选最牛群主,已知有3名最牛群主的候选人(分别是tom,jack和rose),有不超过1000人参与投票,最后要通过投票评选出一名最牛群主,从键盘输入每位参与投票的人的投票结果,即其投票的候选人的名字,请你编程统计并输出每位候选人的得票数,以及得票数最多的候选人的名字。候选人的名字中间不允许出现空格,并且必须小写。若候选人名字输入错误,则按废票处理。
程序运行结果示例1:
Input the number of electorates:8↙
Input vote 1:tom↙
Input vote 2:jack↙
Input vote 3:rose↙
Input vote 4:tom↙
Input vote 5:rose↙
Input vote 6:rose↙
Input vote 7:jack↙
Input vote 8:rose↙
Election results:
tom:2
jack:2
rose:4
rose wins
程序运行结果示例2:
Input the number of electorates:5↙
Input vote 1:tom↙
Input vote 2:mary↙
Input vote 3:rose↙
Input vote 4:jack↙
Input vote 5:tom↙
Election results:
tom:2
jack:1
rose:1
tom wins
提示输入候选人数量:"Input the number of electorates:"
提示输入候选人: "Input vote %d:"
输入格式:
输入候选人数量:"%d"
输入候选人姓名:"%s"
输出格式:
输出候选人得票数:"%s:%d\n"
输出票数最多的候选人姓名:"%s wins\n"
输出评选结果提示信息:"Election results:\n"
为避免出现格式错误,请直接拷贝粘贴题目中给的格式字符串和提示信息到你的程序中。
时间限制:500ms内存限制:32000kb
#include<stdio.h>
int main()
{
int n, i, vote1 = 0, vote2 = 0, vote3 = 0;
char name[10];
printf("Input the number of electorates:");
scanf("%d", &n);
for (i = 0; i < n; i++)
{
printf("Input vote %d:", i + 1);
scanf("%s", name);
if (strcmp("tom", name) == 0)
{
vote1++;
}
else if (strcmp("jack", name) == 0)
{
vote2++;
}
else if (strcmp("rose", name) == 0)
{
vote3++;
}
}
printf("Election results:\n");
printf("%s:%d\n", "tom", vote1);
printf("%s:%d\n", "jack", vote2);
printf("%s:%d\n", "rose", vote3);
if (vote1>vote2&&vote1>vote3)
{
printf("%s wins\n", "tom", vote1);
}
else if (vote2>vote1&&vote2>vote3)
{
printf("%s wins\n", "jack", vote2);
}
else
{
printf("%s wins\n", "rose", vote3);
}
return 0;
}