利用字符指针 p 实现字符串 s1中的小写字母变成大写字母
#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; //先将串的首地址存起来
while (*str != '\0')
{
if (*str >= 'a' && *str <= 'z')
*str -= 32; //小写字母的ASCII码比对应大写的大32
str++;
}
str = p; //将串的首地址恢复
/********** End **********/
}
C++ 实现
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
string st("");
cin >> st; //如果想读取一行所有的字符包括空格,就改成getline(cin, st);
for(auto &c : st)
c = toupper(c); //小写就变成大写,大写就保持不变
cout << st;
return 0;
}