用c++编制程序:对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出。
时间: 2024-05-04 18:19:24 浏览: 13
以下是用C++编写的程序,可以对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[100];
cout << "请输入一个字符串: ";
cin.getline(str, 100); // 读取一行字符串
int len = strlen(str);
for (int i = 0; i < len/2; i++) { // 逆序字符串
char temp = str[i];
str[i] = str[len-i-1];
str[len-i-1] = temp;
}
cout << "逆序后的字符串为: " << str << endl;
return 0;
}
```
程序首先使用`cin.getline()`函数读取一行字符串,然后使用`strlen()`函数获取字符串长度。接着,程序使用一个循环逆序字符串,即将第i个字符和第len-i-1个字符交换位置。最后,程序输出逆序后的字符串。
相关问题
请编写程序,对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出。 输入格式:输入字符串时,输入以等号(=)结束(注意不是回车)
好的,以下是对应的 C++ 代码:
```
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[1000];
int len;
// 输入字符串
cin.getline(str, 1000, '=');
len = strlen(str);
// 对字符串进行逆序
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - 1 - i];
str[len - 1 - i] = temp;
}
// 输出逆序后的字符串
cout << str << endl;
return 0;
}
```
程序先定义了一个字符数组 `str` ,大小为 1000 ,用于存放输入的字符串。接着使用 `cin.getline()` 函数读入字符串,以等号(=)作为结束符。然后使用 `strlen()` 函数获取字符串的长度。接下来使用循环将字符串进行逆序。最后使用 `cout` 输出逆序后的字符串。
需要注意的是,在逆序字符串时我们只需要遍历字符串长度的一半即可,因为一旦交换到字符串中心就已经完成了逆序。
以上是对应的 C++ 代码,你可以在本地编译运行看看效果。
用C++写:从键盘输入一个字符串,将其按逆序输出。
下面是用C++实现从键盘输入一个字符串,将其按逆序输出的代码:
```c++
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
cout << "请输入一个字符串:";
cin >> str;
// 将字符串按逆序输出
for (int i = str.length() - 1; i >= 0; i--)
{
cout << str[i];
}
return 0;
}
```
在这个程序中,我们首先定义了一个名为`str`的字符串变量,然后通过`cin`从键盘输入一个字符串。然后,我们使用一个循环,从字符串的最后一个字符开始,逐个字符地输出字符串。最后,我们返回0表示程序正常结束。