用c++编写:使用指针,输入任意一个字符串,将其中的大写字母转换成小写字母
时间: 2024-03-20 21:45:16 浏览: 100
好的,可以使用以下C++代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
cout << "请输入字符串:";
cin >> str;
char *p = str;
while (*p != '\0') {
if (*p >= 'A' && *p <= 'Z') {
*p += 32; // 大写字母转换成小写字母
}
p++;
}
cout << "转换后的字符串为:" << str << endl;
return 0;
}
```
和C语言版的代码类似,该程序也是遍历输入的字符串中的每个字符,如果是大写字母,则将其转换成小写字母。最后输出转换后的字符串。
相关问题
C++输入任意字符串,把所有的小写字母转化为大写字母,用指针方法实现
在C++中,你可以通过指针和字符数组来实现将小写字母转换为大写字母的功能。以下是一个简单的示例:
```cpp
#include <cctype> // 引入cctype库,包含大小写转换函数
void toUpper(char* str) {
if (str == nullptr) { // 检查指针是否为空
return;
}
char* end = str + strlen(str); // 计算字符串长度
for (char* ptr = str; ptr < end; ++ptr) { // 遍历整个字符串
if (islower(*ptr)) { // 如果当前字符是小写字母
*ptr = toupper(*ptr); // 转换为大写
}
}
}
int main() {
char input[100]; // 定义一个字符数组用于用户输入
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 从标准输入读取字符串,注意去掉末尾的换行符
toUpper(input); // 调用函数将字符串中的小写字母转为大写
printf("转换后的字符串是: %s\n", input);
return 0;
}
```
在这个例子中,`toUpper` 函数接受一个指向字符串的指针,并遍历整个字符串,如果遇到小写字母就使用 `toupper` 函数将其转换为大写。
输入一串字符,利用指针方式,将字符串中的大写字母转换成小写字母,并输出转换后的新串。
可以使用以下代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
cout << "请输入字符串:";
cin.getline(str, 100);
char *p = str;
while (*p != '\') {
if (*p >= 'A' && *p <= 'Z') {
*p += 32; // 大写字母转小写字母
}
p++;
}
cout << "转换后的字符串为:" << str << endl;
return ;
}
```
首先,定义一个字符数组 `str` 存储输入的字符串。然后,定义一个指针 `p` 指向 `str` 的首地址。接着,使用 `while` 循环遍历整个字符串,判断当前指向的字符是否为大写字母,如果是,则将其转换成小写字母。最后,输出转换后的字符串。
需要注意的是,在将大写字母转换成小写字母时,可以使用 `*p += 32` 的方式,因为大写字母和小写字母的 ASCII 码值相差 32。
阅读全文