题目
假设你们社团要竞选社长,有两名候选人分别是A和B,社团每名同学必须并且只能投一票,最终得票多的人为社长.
输入格式
一行,字符序列,包含A或B,输入以字符0结束。
输出格式
一行,一个字符,A或B或E,输出A表示A得票数多,输出B表示B得票数多,输出E表示二人得票数相等。
输入输出样例
输入:ABBABBAAB0
输出: B
代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int countA = 0;
int countB = 0;
char str;
//判断输入值是否为0
while((str = getchar()) != '0')
{
if (str == 'A')
countA++;
else //if(str == 'B')
countB++;
}
//打印结果
if (countA > countB)
printf("A\n");
else if (countA < countB)
printf("B\n");
else
printf("E\n");
return 0;
}
总结
因为数票数可以边输入边数数,两者可以同时进行。于是使用 getchar() 可以完成该操作,只要输入结果不为0,输入就不结束。