| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2527 人关注过本帖
标题: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
快速回复:C++里如果忽略大小写问题
数据加载中...
 
   



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

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