在C ++中将字符串的字符转换为相反的大小写

给我们一个任意长度的字符串,任务是将具有大写字母的字符串转换为小写字母,并将小写字母转换为大写字母。

例如

输入 − string str =“欢迎来到网站!”

输出 -欢迎来到现场!

解释 -将字母W,T,T,S转换为小写,并将字母e,l,c,o,m,e,o 、、 i,t,e转换为大写,并且不对特殊字符执行任何操作。

输入 -字符串str =“ HELLO”

输出 -你好

说明 -将字母H,E,L,L,E转换为小写。

这可以使用两种不同的方法来完成

  • 使用C ++提供的内置函数来执行这些操作,这些函数是toLowerCase(char)和toUpperCase(char)。

  • 通过以下程序中实现的逻辑。

以下程序中使用的方法如下

  • 输入任意长度的字符串

  • 使用该length()函数计算字符串的长度,该函数将根据字符串中包含空格的字母数返回一个整数值。

  • 大写字母[AZ]的ASCII值从65到90开始,小写字母[az]的ASCII值从97到122开始。

  • 开始循环,该循环将比较字符串中的每个字母。如果字母是大写字母,则加32将其转换为小写字母;如果字母是小写字母,则减32将其转换为大写字母。

  • 打印字符串。

示例

#include<iostream>
using namespace std;
void Convert_case(string &str){
   //计算字符串的长度
   int len = str.length();
   //将小写转换为大写,反之亦然
   for (int i=0; i<len; i++){
      if (str[i]>='a' && str[i]<='z'){
         str[i] = str[i] - 32;
      }
      else if(str[i]>='A' && str[i]<='Z'){
         str[i] = str[i] + 32;
      }
   }
}
int main(){
   string str = "What’s Your Name?";
   cout<<"String before conversion is: "<<str;
   Convert_case(str);
   cout<<"\nString after conversion is: "<<str;
   return 0;
}

输出结果

如果我们运行上面的代码,它将生成以下输出-

String before conversion is − What’s Your Name?
String after conversion is &mius; wHAT’S yOUR nAME?