标题:C++里如果忽略大小写问题
取消只看楼主
迷途小羔羊
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-5
 问题点数:0 回复次数:2 
C++里如果忽略大小写问题
#include <iostream>
#include <cstring>
using namesoace std;

bool isPalindrome(const char *);

int main() {
  cout << "Enter a string:";
  char s[80];
  cin.getline(s, 80);
if(isPalindrome(s))
    cout << s << " is a palindrome" << endl;
else
    cout << s << " is not a palindrome" << endl;

return 0;
}

bool isPalindrome(const char * const s)
{
 int low = 0;
 int high = strlen(s) - 1;

while (low < high)
{
  if (s[low] != s[high])
      return false;
  low++;
  high--;
}

return true;
}

这是我写的程式,比如输入abccba,这个就是palindrom(指顺读和倒读都一样的词语). 但是如果输入Abccba,由于第一个是大写A,所以方程会认定不是palindrome.要如何改才可以无视大小写呢? 谢谢
搜索更多相关主题的帖子: 大小写 
2008-11-06 01:06
迷途小羔羊
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-5
得分:0 
这样是可以搞定第一个字母~~但是如果第二个字母是大写的话~又不对了。
应该把if(s[0]>=65 && s[0]<=90)
    {
        s[0]+=32;
    }
这个怎么改才可以无论哪里是大写都可以转成小写呢?

谢谢阿!
2008-11-06 04:24
迷途小羔羊
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-11-5
得分:0 
谢谢阿~~太感激大家的帮忙了
2008-11-06 09:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-242644-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.891928 second(s), 10 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved