输入一个字符串(长度不超过 100), 反向输出并且每个字符输出两次。 (使用 char 数组,strlen()函数)c++
时间: 2024-10-03 16:01:45 浏览: 41
在 C++ 中,你可以使用 `char` 数组和 `strlen()` 函数以及简单的遍历来实现这个功能。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <cstring>
void reverseAndDouble(char str[]) {
int length = strlen(str);
// 反转字符串
for (int i = 0; i < length / 2; ++i) {
char temp = str[i];
str[i] = str[length - i - 1];
str[length - i - 1] = temp;
}
// 输出并双倍每个字符
for (int i = 0; i < length; ++i) {
std::cout << str[i] << str[i]; // 输出当前字符两次
}
}
int main() {
char input[101];
std::cout << "请输入一个不超过100个字符的字符串:";
std::cin.getline(input, sizeof(input)); // 注意这里读入的是包括空格的字符串
// 检查输入长度是否超过100
if (strlen(input) > 100) {
std::cerr << "输入的字符串过长,已截断!\n";
} else {
reverseAndDouble(input);
std::cout << "\n";
}
return 0;
}
```
在这个程序中,我们首先计算字符串的长度,然后使用一个循环来交换字符串的首尾字符,实现反转。接着再次遍历字符串,每次输出字符两次。
阅读全文