如何在C++中以字符数组的形式接收一个长度为100的字符串,然后将其内容倒序并输出到控制台?
时间: 2024-11-25 07:21:00 浏览: 62
在C++中,你可以通过以下步骤来实现这个功能:
1. **声明字符数组**:首先定义一个长度为101(包括结束符'\0')的字符数组,用于存储字符串。
```cpp
char str[101];
```
2. **接收输入**:使用`std::getline()`函数从用户那里获取字符串,确保以`\n`结束。
```cpp
std::cout << "请输入一个长度不超过100的字符串: ";
std::cin.getline(str, 101);
```
3. **检查字符串长度**:确保读取的字符串没有超过100个字符,移除末尾的换行符。
```cpp
str[strcspn(str, "\n")] = '\0'; // 移除末尾的换行符
```
4. **字符串倒序**:可以遍历整个数组并将字符逐个交换位置,也可以利用`std::reverse()`函数简化操作。
```cpp
// 使用指针法倒序
char* start = str;
char* end = str + strlen(str) - 1;
while (start < end) {
std::swap(*start, *end);
++start;
--end;
}
// 或者使用标准库函数
// std::reverse(str, str + strlen(str));
```
5. **输出结果**:最后将倒序后的字符串输出到控制台。
```cpp
std::cout << "倒序后的字符串是: " << str << std::endl;
```
完整的代码示例:
```cpp
#include <iostream>
#include <string>
int main() {
char str[101];
std::cout << "请输入一个长度不超过100的字符串: ";
std::cin.getline(str, 101);
str[strcspn(str, "\n")] = '\0'; // 移除末尾的换行符
// 或者使用std::reverse
// std::reverse(str, str + strlen(str));
std::cout << "倒序后的字符串是: " << str << std::endl;
return 0;
}
```
阅读全文
相关推荐


















