这道题只是处理有一小点麻烦,就是一个字符串+模拟。
我用的是最最朴素的方法了,dalao勿喷。
先定义三个字符串(不是字符数组!),前两个用于输出判断(没错!就是这样!),最后一个才是输入用的。
再定义两个整型的变量,用于保存进球数。
哎,算了,讲的太麻烦,在代码里讲的更清楚。
$code$
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <string> using namespace std; string str1, str2; string goal; //三个字符串 int n, score1 = 0, score2 = 0;//n和保存进球数的变量 void print(); int main() { scanf("%d", &n); cin >> goal; score1 ++; str1 = goal;//一进去第一个进球就默认为是第一个球队进的球,将这个球队的名字存放到str1里。输出的时候用 for(int i = 2; i <= n; i ++) { //所以现在for循环就从2开始循环了 cin >> goal; //再输入 if(goal != str1) { score2 ++; str2 = goal; } else { score1 ++; str1 = goal; } //上面是判断进球的球队是1号球队还是2号球队,并将进球球队加1分 } print(); //输出函数,当然你可以直接在主函数里写 return 0; } void print() { if(score1 > score2) cout << str1; else cout << str2; //输出得分高的那一队 }