一、题目描述
【蓝桥杯 2021 国赛 B 组 E 题】给定一个只包含大写字母和小写字母的字符串,请将其中所有的小写字母转换成大写字母后将字符串输出。
C++程序要求输入输出格式如下:
输入格式
输入一行包含一个字符串。
输出格式
输出转换成大写后的字符串。
示例如下:
输入:abcdE 输出:ABCDE
二、思路
四种方法:
-
法一:ASCII码
介绍一下ASCII码,常见的小写字母和大写字母的ASCII码要记住:
大写字母A-----65,大写字母Z-----90
小写字母a-----97,小写字母z-----122
大写字母+32=小写字母 -
法二:使用单引号求出字符对应的 ASCII 码值。
-
法三使用 islower 函数判断小写字符。
-
法四直接使用 toupper 函数将字母转大写。
三、C++代码
#include<bits/stdc++.h>
using namespace std;
//大写
int main(){
string a;
cin>>a;
for(int i=0; i<a.size(); i++) {
/*法一:ASCII码
if(a[i]>=97&&a[i]<=122){
a[i]+='A'-'a';//判断并转换
}
*/
/*法二:使用单引号求出字符对应的 ASCII 码值。
if(a[i]>='a'&&a[i]<='z'){
a[i]+='A'-'a';//判断并转换
}
/*法三使用 islower 函数判断小写字符
if(islower(a[i])) {
a[i]+='A'-'a';//判断并转换
}
*/
/*法四直接使用 toupper 函数将字母转大写。
if(islower(a[i])) {
a[i]=toupper(a[i]);//判断并转换
}
*/
}
cout<<a;
}