这一题用getline要注意,getline一碰到回车就接收。
比如这一题,输入完3,按回车,那第一个getline已经执行完了。
所以前面加一个接收回车的。
代码如下:
#include <iostream>
#include <string>
using namespace std;
string a[101];
int main()
{
int N;
cin >> N;
int i;
cin.get();
for(i = 0;i<N;i++)
getline(cin,a[i]);
bool flag = true;
int temp = 0;
for(i = a[0].size() - 1;i>=0 ;i--)
{
for(int j = 1;j<N;j++)
{
int k = a[j].size() - 1;
k = k - temp;
if(k < 0 || a[0][i] != a[j][k])
{
flag = false;
break;
}
}
if(!flag)
break;
temp++;
}
if(temp == 0)
{
cout << "nai" << endl;
return 0;
}
i++;
for(;i<a[0].size();i++)
cout << a[0][i];
cout << endl;
return 0;
}