竞选社长
竞选社长
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; }
总结:
多行读入以及判断两者的计数即可。