c++从键盘将一个字符串输入到字符数组中,按反序存放
时间: 2023-05-03 21:02:16 浏览: 315
可以使用循环遍历字符串,将每个字符存入数组中,然后倒序输出即可。具体代码实现如下:
```C++
#include <iostream>
using namespace std;
int main() {
char str[100];
int len, i;
cin >> str; // 输入字符串
len = strlen(str); // 计算字符串长度
char arr[len];
for (i = 0; i < len; i++) {
arr[i] = str[i]; // 将每个字符存入数组
}
for (i = len - 1; i >= 0; i--) {
cout << arr[i]; // 倒序输出数组中的字符
}
return 0;
}
```
相关问题
使用dwv-c++从键盘将一个字符串输入到字符数组str中,之后反序存放并输出。如,输入"Abcd e",则输出"e dcbA"。要求在同一个数组str中进行反序
在C++中,你可以使用`std::cin`从键盘读取用户输入的字符串,然后将其反转并存储在一个字符数组中。下面是一个简单的步骤说明和代码示例:
1. 首先,创建一个足够大的字符数组`str`来存储输入的字符串及其反转后的内容。因为需要同时存放原始字符串和反转后的字符串,所以数组的长度应大于输入字符串的两倍。
2. 使用`std::getline`从标准输入读取用户的输入,直到遇到空格为止。这样可以保证每次输入都是一个单词。
3. 初始化一个指针`start`指向数组的开头,另一个指针`end`指向当前处理的字符的下一个位置。
4. 当有新单词输入时,继续向后移动`end`指针,并将字符复制到`str`中,直到遇到空格。注意,这里不需要反序,因为我们还没有开始反转。
5. 然后,将`start`指针移动到`end`指针的位置,并将`end`指针重置回下一个单词的起始位置,以便处理下一次输入。
6. 最后,当输入完整个句子后,我们还需要反转整个数组。为此,可以交换`start`和`end`之间的元素,逐步向中间移动,直到两者相遇。
以下是部分代码实现:
```cpp
#include <iostream>
#include <cctype>
using namespace std;
int main() {
const size_t MAX_LEN = 100; // 根据实际需求调整数组大小
char str[MAX_LEN];
int start = 0, end = 0;
while (true) {
string word;
getline(cin, word, ' '); // 读取单词,直到遇到空格
if (word.empty()) break; // 如果是空行或结束,退出循环
for (size_t i = 0; i < word.size(); ++i) {
str[end++] = word[i]; // 添加单词到数组
}
str[end++] = ' '; // 添加空格
}
str[end] = '\0'; // 结束字符串
// 反转字符串
for (int i = start, j = end - 1; i < j; ++i, --j) {
swap(str[i], str[j]);
}
cout << str << endl;
return 0;
}
```
运行程序后,按照提示输入字符串,例如:"Abcd e",它会输出:"e dcbA"。
用dev-c++使用标准输入输出流从键盘将一个字符串输入到字符数组str中,之后反序存放并输出。如,输入"Abcd e",则输出"e dcbA"。要求在同一个数组str中进行反序
在Dev-C++中,你可以通过以下步骤来完成这个任务:
1. 首先,创建一个新的`C++`源文件(`.cpp`),例如`reverse_string.cpp`。
```cpp
#include <iostream>
#include <cstring>
// 定义函数来接收用户输入并反转字符串
void reverseString(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;
}
}
int main() {
char str[100]; // 创建一个足够大的字符数组存储字符串
std::cout << "请输入一个字符串: ";
std::cin.getline(str, sizeof(str)); // 使用getline读取整个行,包括空格
reverseString(str); // 反转字符串
std::cout << "反转后的字符串: " << str << std::endl;
return 0;
}
```
在这个程序中,我们首先包含了`iostream`和`cstring`头文件,然后定义了一个`reverseString`函数来完成字符串的反转操作。在`main`函数中,我们使用`std::cin.getline`获取用户的输入,并将其传递给`reverseString`函数。最后,我们输出反转后的字符串。
阅读全文