竞选社长
竞选社长
http://www.nowcoder.com/questionTerminal/45a30e3ef51040ed8a7674984d6d1553
分析:
按照题意读入多个数据,如果当前字符为0则退出循环,最后对比A,B两者的票数输出结果即可。
题解:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a_count = 0, b_count = 0;
char ch = 0;
//循环读取投票
while(scanf("%c", &ch) != EOF) {
//当前字符为0则退出
if(ch == '0')
break;
//统计a的票数,同理也要统计b的票数
if(ch == 'A')
a_count++;
if(ch == 'B')
b_count++;
}
//对a,b的票数进行判断,然后输出对应结果
if(a_count == b_count)
printf("E\n");
else if(a_count > b_count)
printf("A\n");
else
printf("B\n");
return 0;
}题解2:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a_count = 0, b_count = 0;
//这里使用了数组保存投票信息
char votes[100];
scanf("%s", votes);
int len = strlen(votes);
//遍历投票的信息数组,对统计项目进行自增
for(int i = 0; i < len; ++i) {
if(votes[i] == 'A')
a_count++;
else if(votes[i] == 'B')
b_count++;
else
break;
}
//最后对统计结果进行判断输出即可
if(a_count == b_count)
printf("E\n");
else if(a_count > b_count)
printf("A\n");
else
printf("B\n");
return 0;
}总结:
多行读入以及判断两者的计数即可。
查看13道真题和解析