【问题标题】:uppercase to lowercase and vice versa大写到小写,反之亦然
【发布时间】:2013-09-21 17:07:51
【问题描述】:

此代码应将大写转换为小写,反之亦然.. 问题是它同时返回 上下..例如,当我输入“金枪鱼”这个词时,它会返回“金枪鱼”..请帮助

string rev_letter(string s)
{
    string word = s;
    string final_word="";
    char c;
    for(int i = 0 ; i<=(word.length()-1);i++)
    {
    c=word.at(i);
    if(isupper(c))
    {
        putchar(tolower(c));
        final_word+=c;
    }
    else
    {
        putchar(toupper(c));
        final_word+=c;
    }

    }
    return final_word;
} 

【问题讨论】:

  • 请说出语言...

标签: c++ uppercase lowercase


【解决方案1】:

当您使用putchar 时,您按预期打印字符(到屏幕上),但您不要将字符放入final_word。在 final_word 中,您实际上放置了最初的单词。

试试这个:

string rev_letter(string s)
{
    string word = s;
    string final_word="";
    char c;
    for(int i = 0 ; i<(word.length());i++)
    {
       c=word.at(i);
       if(isupper(c))
       {
           final_word+=tolower(c);
       }
       else
       {
           final_word+=toupper(c);
       }
    }

    return final_word;
} 

【讨论】:

  • @user2786906 如果您认为它回答了您的问题,您应该“接受”它。这样,人们就会知道它已经解决了。
猜你喜欢
  • 2017-01-26
  • 1970-01-01
  • 2022-11-05
  • 2020-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
相关资源
最近更新 更多