大写字母好看
任务描述
本关任务:将一个字符串中的所有小写字母变成对应的大写字母,其它字母不变。
例如:对字符串“abc12! ef”执行函数后输出结果为“ABC12! EF”
测试说明:
测试输入: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)
{
// 请在此添加代码,实现函数toUp
/********** Begin *********/
char* p = str, * q = str;
int flag;//每个大写字母和小写字母之间都相差相同的ASC码,这里是为了保存期中一组就行了
flag = 'A' - 'a';
while (*q != '\0')
{
if (*q >= 'a' && *q <= 'z')//替换掉小写字母为大写字母
{
*q = *p + flag;
*p++;
*q++;
}
else//没有就继续跑
{
*p++;
*q++;
}
}
*q = '\0';//这样最后输出的就是*q
/********** End **********/
}