。 2.采用指针编程:将一个宇符串反序输出,即: 输入:ABCDEFG 输出:GFEDCBA用c++编写
时间: 2024-02-27 10:54:39 浏览: 109
以下是用C++编写的程序,实现了将一个字符串反序输出:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[] = "ABCDEFG";
int len = strlen(str);
cout << "原字符串为:" << str << endl;
char* left = str;
char* right = str + len - 1;
while (left < right) {
char temp = *left;
*left = *right;
*right = temp;
left++;
right--;
}
cout << "反序输出的字符串为:" << str << endl;
return 0;
}
```
程序中,首先定义了一个字符串str,并使用strlen函数计算其长度。然后输出原字符串,方便比较反序输出后的结果。接着定义两个char型指针变量left和right,分别指向字符串的首地址和尾地址。使用while循环,每次交换left和right指向的字符,并将left指针往后移动一位,right指针往前移动一位,直到left >= right为止。最后输出反序输出后的字符串。
相关问题
用c++ 采用指针编程:将一个宇符串反序输出,即: 输入:ABCDEFG 输出:GFEDCBA
好的,我来为您解答。
您可以使用指针来实现宇符串反序输出的功能,具体步骤如下:
1. 定义一个字符数组,并输入字符串。
2. 定义两个指针,一个指向字符串的开头,一个指向字符串的结尾。
3. 使用循环,将字符串中的字符从后往前逐个输出到屏幕上。
4. 最后别忘了加上换行符。
下面是一个示例代码:
```
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char str[100];
cout << "请输入字符串:";
cin >> str;
int len = strlen(str);
char *p1 = str;
char *p2 = str + len - 1;
while (p1 < p2) {
char tmp = *p1;
*p1++ = *p2;
*p2-- = tmp;
}
cout << "反序输出为:";
cout << str << endl;
return 0;
}
```
当您运行程序并输入字符串时,程序会将字符串反序输出到屏幕上。
希望这个回答对您有所帮助,如有疑问请随时追问。
使用c++2.采用指针编程:将一个字符串反序输出,即: 输入:ABCDEFG 输出: GFEDCBA
好的,我可以帮你解决这个问题。
你可以使用指针来实现字符串反序输出。具体步骤如下:
1. 首先,输入一个字符串,存储在一个字符数组中。
2. 定义两个指针,一个指向字符串的首地址,另一个指向字符串的末地址。
3. 交换指针所指向的字符,然后将指针向中间移动,直到两个指针相遇。
4. 输出反序后的字符串。
下面是相应的代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void reverseString(char* str)
{
int len = strlen(str);
char* start = str;
char* end = str + len - 1;
while (start < end)
{
char temp = *start;
*start++ = *end;
*end-- = temp;
}
}
int main()
{
char str[100];
cout << "请输入一个字符串:";
cin >> str;
reverseString(str);
cout << "反序后的字符串为:" << str << endl;
return 0;
}
```
希望能够帮到你!如果有其他问题,请继续提问。
阅读全文