在C ++中将字符串的字符转换为相反的大小写
给我们一个任意长度的字符串,任务是将具有大写字母的字符串转换为小写字母,并将小写字母转换为大写字母。
例如
输入 −stringstr=“欢迎来到网站!”
输出 -欢迎来到现场!
解释 -将字母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?