#include<iostream>
using namespace std;
int main()
{
string s[100];
int N,i,j;
cin>>N;
getchar();
for(i=0;i<N;i++){
getline(cin,s[i]);
}
for(i=1;;i++){
for(j=0;j<N;j++){
if(s[j].size()<i)break;
}
if(j<N)break;//边界检查
bool signal=true;
char c=s[0][s[0].size()-i];
for(j=1;j<N;j++){
char d=s[j][s[j].size()-i];
if(d!=c)signal=false;
}
if(signal==false){//倒数第i位不匹配
break;
}
}
if(i==1){
cout<<"nai";
}
else{
for(j=s[0].size()-(i-1);j<s[0].size();j++){
cout<<s[0][j];
}
}
}
该C++代码段读取一个字符串数组,检查所有字符串的倒数第i个字符是否相同。如果找到不同,程序会立即停止。最后,如果所有字符串的倒数第i个字符都相同,程序将输出这个共同的字符序列。

被折叠的 条评论
为什么被折叠?



