用c++编写函数,一个字符串前后颠倒是否一样,如果一样就输出
时间: 2024-05-11 16:15:23 浏览: 103
Yes,否则输出 No。
下面是代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverseString(char str[]) {
int i, j;
char temp;
for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
void checkPalindrome(char str[]) {
char original[100];
strcpy(original, str);
reverseString(str);
if (strcmp(original, str) == 0) {
printf("Yes\n");
} else {
printf("No\n");
}
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
checkPalindrome(str);
return 0;
}
```
希望能帮到你,有其他问题也可以继续问我哦~
相关问题
c++4.编写字符串反转函数。该函数的功能是将指定字符串中的字符顺序颠倒排列,然后在主函数中进行验证。
以下是一个简单的C++实现:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
void reverseString(char* str) {
int len = strlen(str);
for(int i=0; i<len/2; i++) {
char tmp = str[i];
str[i] = str[len-i-1];
str[len-i-1] = tmp;
}
}
int main() {
char str[100];
cout << "请输入一个字符串:";
cin.getline(str, 100);
reverseString(str);
cout << "反转后的字符串为:" << str << endl;
return 0;
}
```
该程序首先定义了一个 `reverseString` 函数,用于将输入的字符串反转。该函数接收一个指向字符数组的指针作为参数,并使用双指针法将字符串反转。
在主函数中,首先输入一个字符串,并将其传递给 `reverseString` 函数进行反转。最后输出反转后的字符串。
string中将字符串颠倒的函数
以下是一个将字符串颠倒的函数的示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
string reverseString(string str) {
int n = str.length();
for (int i = 0; i < n / 2; i++) {
swap(str[i], str[n - i - 1]);
}
return str;
}
int main() {
string str = "Hello World!";
cout << "Original String: " << str << endl;
cout << "Reversed String: " << reverseString(str) << endl;
return 0;
}
```
在这个函数中,我们遍历字符串中的前一半字符,并交换它们与字符串中对应的后一半字符。最后,我们返回颠倒后的字符串。在主函数中,我们调用这个函数并打印输出原始字符串和颠倒后的字符串。
输出结果:
```
Original String: Hello World!
Reversed String: !dlroW olleH
```
注意,这个函数使用了 `swap()` 函数来交换字符,需要包含头文件 `<algorithm>`。
阅读全文