方法一:直接用string
代码不能ac,估计原因是空格的问题。
#include<iostream>
#include<string>
using namespace std;
int main()
{
int N;//要输入几组字符串
int sum, max;//每时每刻的相同字符串个数,当前最大值
string temp;//存放相同的字符串是啥
while (cin >> N && N != 0 && 0 < N < 1000)
{
cin.get();
string* str = new string[N];
max = 0;
for (int k = 0; k < N; k++)
{
getline(cin, str[k]);
}
for (int i = 0; i < N - 1; i++)
{
sum = 0;//之前放错了位置~
for (int j = i + 1; j < N; j++)
{
if (str[i] == str[j])
{
sum++;
if (sum > max)
{
max = sum;
temp = str[i];
}
}
}
}
cout << temp << endl;
delete[] str;
}
system("pause");
return 0;
}
要想保存字符串,同时以space,enter,tab结尾,也可以用一下这种方式:
用字符数组保存字符串
1.char string1[]=”first”;
等价于char string1[]={‘f’,’i’,’r’,’s’,’t’,’\0’};
2.可以利用cin>>输入字符串,遇到空白符终止。
char string1[20];//最多容纳19个字符
cin>>string1;//且在末尾自动填充'\0'