参考(28条消息) PAT A1077 Kuchiguse (20分) 关于g++编译器无法使用gets的解决方法_tangobravo的博客-CSDN博客_g++ gets
#include<stdio.h>
#include<string.h>
//g++不能用gets(),用gcc
void dao_(char a[])
{
for(int i=0;i<(strlen(a)/2);i++)
{
char temp=a[i];
a[i]=a[strlen(a)-i-1];
a[strlen(a)-i-1]=temp;
}
}
int main()
{
int n=0;
char a[110][300]={0};
char b[300]={0};//存放相同字符
scanf("%d\n",&n);//注意换行符 gets()无法吸收
//getchar();//读入换行符
int len=800;//最短长度
for(int i=0;i<n;i++)
{
gets(a[i]);//以换行作为结束标志
if(strlen(a[i])<len) len=strlen(a[i]);
dao_(a[i]);
}
for(int i=0;i<len;i++)
{
int t=1;//判断该字符是否相同 ,0不同 1相同
for(int j=1;j<n;j++)
{
if(a[0][i]!=a[j][i]) t=0;
}
if(t==1) b[i]=a[0][i];
else
{
if(b[0]=='\0') {printf("nai");return 0;}
else {dao_(b);printf("%s",b);return 0;}
}
}
//以下是测试点四 因为可能相同长度刚好等于字符串长度
dao_(b);
printf("%s",b);
}