将一个字符串中的所有小写字母变成对应的大写字母,其它字母不变。
例如:对字符串“abc12! ef”执行函数后输出结果为“ABC12! EF”。
实现将字符串(数据由平台提供,且已在主函数中获取)中的所有小写字母变成对应大写字母,其它字母不变的功能。
提示
在 ASCII 码表中,大写字母‘A’到‘Z’是连续编码的,小写字母‘a’到‘z’也是连续编码的。也就是说‘A’和‘a’的 ASCII 码的差与‘Z’和‘z’的 ASCII 码的差是一样的。
所以如果字符变量 ch 中存放的是小写字母,则下面的语句可以将其变成对应的大写字母:
ch = ch + 'A'-'a';
测试输入:1q2w3ASD45sx~1
预期输出:1Q2W3ASD45SX~1
测试输入:as 12xfASA90[]kl{}
预期输出:AS 12XFASA90[]KL{}
#include <iostream>
using namespace std;
void toUp(char *str);
int main()
{
char s[1024];
cin.getline(s,1024); // 输入一行字符
toUp(s); // 调用toUp函数,转换成大写字母
cout<<s<<endl; // 输出变更后的新字符串
return 0;
}
// 函数toUp:将str指向的字符串中的小写字母变成对应的大写字母
// 参数:str-指向字符串
void toUp(char * str)
{
char *p=str;
while(*p!='\0')
{
if(*p>='a'&&*p<='z')
{
*p=*p+'A'-'a';
}
p++;
}
}