#1004
统计字符串找出总数,这道题保证了总数的唯一性,也在一定程度上降低了难度,思路是直接使用字符串数组记录气球的颜色,之后使用一维整数数组统计每个气球颜色出现的次数,找出总数最大的气球。
记录点
字符数组的比较可以使用strcmp函数,如果是字符串的话,直接使用compare函数
AC代码
#include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
int main() {
int n;
string s[1010];//存储气球的颜色
while(cin>>n){
if(n==0){
return 0;
}
getchar();//读取换行符
for(int i=0;i<n;i++){
getline(cin,s[i]);
}
int count[1010]={0};//统计每个气球颜色出现的次数
int flag=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
//字符串比较compare
if(!s[i].compare(s[j])){
count[i]++;
}
}
}
//找出总数最大的气球
int max=count[0];
for(int i=0;i<n;i++){
if(count[i]>max){
max=count[i];
flag=i;
}
}
cout<<s[flag]<<endl;
}
return 0;
}