题目是这样的,小弟初学C++
运用所学的字符串、数组和指针的相关知识编写一个程序,测试输入的字符串是不是回文。所谓回文就是顺读和倒读都一样的字符串。所编写的回文测试程序要求忽略所有的空格和标点符号,并忽略一个字母的大写和小写形式。
#include<iostream>
using namespace std;
int main(){
char str[100];
//fgets(str, 100, stdin);
int i=0; int j=0;
int x; char strout[100];
cout<<"请输入字符串\n";
cin>>str;
while(str[i])
{ if(str[i]!=',')
{ strout[j]=str[i];
++j;}
++i;
}
strout[j]=0;
for(j=0;j<100;j++){
strout[j]=(strout[j]>'A'&&strout[j]<'Z')? (strout[j]+32):strout[j]; }
int n=strlen(strout);
for(i=0,j=n-1;i<n/2;i++,j--){
if (strout[i]==strout[j])
x++;
}
if(int(n/2)==x)
cout<<"是回文\n";
else cout<<"不是回文\n";
//cout<<strout<<endl;
//cout<<n; system("pause");
return 0;
}

运用所学的字符串、数组和指针的相关知识编写一个程序,测试输入的字符串是不是回文。所谓回文就是顺读和倒读都一样的字符串。所编写的回文测试程序要求忽略所有的空格和标点符号,并忽略一个字母的大写和小写形式。
#include<iostream>
using namespace std;
int main(){
char str[100];
//fgets(str, 100, stdin);
int i=0; int j=0;
int x; char strout[100];
cout<<"请输入字符串\n";
cin>>str;
while(str[i])
{ if(str[i]!=',')
{ strout[j]=str[i];
++j;}
++i;
}
strout[j]=0;
for(j=0;j<100;j++){
strout[j]=(strout[j]>'A'&&strout[j]<'Z')? (strout[j]+32):strout[j]; }
int n=strlen(strout);
for(i=0,j=n-1;i<n/2;i++,j--){
if (strout[i]==strout[j])
x++;
}
if(int(n/2)==x)
cout<<"是回文\n";
else cout<<"不是回文\n";
//cout<<strout<<endl;
//cout<<n; system("pause");
return 0;
}
