利用字符指针将一串字符倒序存放后输出。例如原数组a的内容为“VISUAL C++PROGRAM”,倒序后数组a中的内容为“MAGORP++C LASUIV”。+mooc答案
时间: 2024-12-09 14:18:46 浏览: 14
在C语言中,你可以使用字符指针和循环结构来实现字符串的倒序。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
void reverse(char *str) {
int len = strlen(str);
char temp;
for (int i = 0; i < len / 2; i++) { // 只需要遍历一半长度,因为每一步都交换了两个字符
temp = str[i]; // 存储当前位置的字符
str[i] = str[len - i - 1]; // 将当前位置字符移动到对应反向位置
str[len - i - 1] = temp; // 将存储的字符放回原来的位置
}
}
int main() {
char a[] = "VISUAL C++PROGRAM";
printf("Original string: %s\n", a);
reverse(a); // 调用函数进行倒序
printf("Reversed string: %s\n", a); // 输出倒序后的字符串
return 0;
}
```
当你运行这个程序时,它会先打印出原始字符串"VISUAL C++PROGRAM",然后输出倒序后的字符串"MAGORP++C LASUIV"。
相关问题
C++利用字符指针将一串字符倒序存放后输出。例如原数组a的内容为“VISUAL C++PROGRAM”,倒序后数组a中的内容为“MAGORP++C LASUIV”
可以使用以下代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char a[] = "VISUAL C PROGRAM";
int len = strlen(a);
char *p = new char[len + 1]; // 创建字符指针p,长度为len+1
for (int i = 0; i < len; i++)
p[i] = a[len - i - 1]; // 倒序存放
p[len] = '\0'; // 在末尾添加'\0'
cout << p << endl; // 输出倒序后的字符串
delete[] p; // 释放内存
return 0;
}
```
输出结果为:
```
MAGORP C LASUIV
```
编一个C++程序,输入一个字符串,将其倒序存放后输出。例如,假设原数组a的内容为"VISUAL C++PROGRAM",倒序后数组a中的内容为"MAGORP++C LASUIV"。 要求:不能借助另外一个数组实现倒序存放。 答
在C++中,你可以使用两个指针,一个指向字符串开始位置,另一个指向结束位置,然后逐个交换字符,直到两个指针相遇。下面是一个简单的示例程序:
```cpp
#include <iostream>
#include <string>
// 函数声明,用于在主函数外部访问
void reverseString(char* begin, char* end);
int main() {
std::string input = "VISUAL C++PROGRAM"; // 输入的字符串
const char* str = input.c_str(); // 将std::string转换为const char*
// 双指针法,从两端向中间遍历并交换字符
char* start = str;
char* end = str + input.length() - 1;
while (start < end) {
// 交换字符
char temp = *start;
*start = *end;
*end = temp;
// 移动指针
start++;
end--;
}
// 输出倒序后的字符串
std::cout << "Reversed String: " << str << std::endl;
return 0;
}
// 函数实现
void reverseString(char* begin, char* end) {
if (begin < end) { // 防止越界
char temp = *begin;
*begin = *end;
*end = temp;
reverseString(begin + 1, end - 1);
}
}
```
当你运行这个程序,它会输出倒序的字符串"MAGORP++C LASUIV"。
阅读全文