C++判断回文程序修改,要求:滤去所有非字母字符(包括空格)后,不考虑字母的大小写,从左向右和从右

C++判断回文程序修改,要求:滤去所有非字母字符(包括空格)后,不考虑字母的大小写,从左向右和从右向左读都相同的词或者短语!... C++判断回文程序修改,要求:滤去所有非字母字符(包括空格)后,不考虑字母的大小写,从左向右和从右向左读都相同的词或者短语! 展开
 我来答
百度网友bb29ad2
2016-06-22 · TA获得超过2271个赞
知道小有建树答主
回答量:890
采纳率:33%
帮助的人:212万
展开全部
#include<iostream>

using namespace std;
#define SIZE 100

int main()
{
//Test_Deviation();
//Test_V();
char carray[SIZE] = { 0 };
int i, len, is_palindrome = 1;
cout << "Please input a string.\n";
cin.get(carray, SIZE - 1);
len = strlen(carray);
// 去掉非字母字符
char carray2[SIZE] = { 0 };
int j = 0;
for (i = 0; i < len; i++)
{
if ((carray[i] >= 'a' && carray[i] <= 'z') ||
(carray[i] >= 'A' && carray[i] <= 'Z'))
carray2[j++] = carray[i];
}
// 判断回文
for (i = 0; i < j; i++)
{
if ((carray2[i] != carray2[j - 1 - i]) && 
(carray2[i] + 32 != carray2[j -1 - i]) && 
(carray2[i] != carray2[j - 1 - i] + 32))
{
is_palindrome = 0;
break;
}
}

if (is_palindrome != 0)cout << "The string is a palindrome.\n";
else cout << "The string isn't a palindrome.\n";

return 0;
}




朋友,请【采纳答案】,您的采纳是我答题的动力,如果没有明白,请追问。谢谢。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式