输入一个字符串,以回车为结束标记,将该字符串逆序输出。C++不用函数
时间: 2024-02-25 16:53:48 浏览: 59
好的,下面是 C++ 代码实现:
```c++
#include<iostream>
using namespace std;
int main()
{
char str[100]; // 定义一个字符数组
int i = 0; // 定义计数器i
// 循环读入字符,直到输入回车为止
while(cin.get(str[i++]))
{
if(str[i-1] == '\n') // 判断是否输入回车
break;
}
// 倒序输出字符
for(int j = i-2; j >= 0; j--)
cout << str[j];
return 0;
}
```
这是一段简单的代码,通过 `cin.get()` 逐个读取字符并存储到字符数组 `str` 中,当读取到回车时跳出循环;然后通过循环倒序输出字符数组中的字符即可。
相关问题
编写一个完整的C++程序,要求将一个字符串中的字符逆序存放。如字符串为“abcde",则逆序存放后应为"edcba"。 输入格式: 在一行中输入一个长度不超过20的字符串、并以回车结束。 输出格式: 在一行中输出逆序后的字符串。
以下是实现要求的完整的 C++ 程序:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[21]; // 定义一个长度不超过20的字符数组,用于存放输入的字符串
cin >> str; // 读入字符串
int len = strlen(str); // 获取字符串长度
for (int i = len-1; i >= 0; i--) // 从最后一个字符开始循环
{
cout << str[i]; // 逆序输出字符
}
return 0;
}
```
程序首先定义了一个长度为 21 的字符数组 `str`,用于存放输入的字符串。然后使用 `cin` 读入一个字符串,并使用 `strlen` 函数获取字符串长度。接着使用 `for` 循环从最后一个字符开始循环,依次逆序输出每一个字符。最后返回 0,表示程序正常结束。
注意,为了保证程序的健壮性,还需要对输入字符串的长度进行判断,确保不超过数组的最大长度。
请编写程序,对键盘输入的字符串进行逆序,逆序后的字符串仍然保留在原来字符数组中,最后输出。 输入格式:输入字符串时,输入以等号(=)结束(注意不是回车)
好的,以下是对应的 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++ 代码,你可以在本地编译运行看看效果。
阅读全文