C++ 字符串大小写转换


给定任意长度的字符串,任务是将字符串中的大写字母转换为小写字母,小写字母转换为大写字母。

例如

输入− 字符串 str = ”Welcome To The Site!”

输出− wELCOME tO tHE sITE!

解释− 将字母 W、T、T、S 转换为小写,将字母 e、l、c、o、m、e、o、t、h、e、s、i、t、e 转换为大写,特殊字符保持不变。

输入− 字符串 str = ”HELLO”

输出− hello

解释− 将字母 H、E、L、L、O 转换为小写。

这可以使用两种不同的方法实现

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

  • 通过逻辑,我们在下面的程序中实现。

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

  • 输入任意长度的字符串

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

  • 大写字母 [A-Z] 的 ASCII 值从 65 到 90,小写字母 [a-z] 的 ASCII 值从 97 到 122。

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

  • 打印字符串。

示例

在线演示

#include<iostream>
using namespace std;
void Convert_case(string &str){
   //calculate the length of a string
   int len = str.length();
   //converting lowercase to uppercase and vice versa
   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?

更新于:2020年5月15日

507 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.