用C++写一个判断回文的程序
时间: 2023-10-22 17:08:05 浏览: 89
以下是用 C 语言编写的判断回文的程序:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, j, len, flag = 1;
printf("请输入一个字符串:");
gets(str);
len = strlen(str);
for (i = 0, j = len - 1; i < len / 2; i++, j--)
{
if (str[i] != str[j])
{
flag = 0;
break;
}
}
if (flag)
{
printf("%s 是回文字符串\n", str);
}
else
{
printf("%s 不是回文字符串\n", str);
}
return 0;
}
```
程序的实现思路是将输入的字符串分别从头和尾开始依次比较,如果发现有不相等的字符,则说明不是回文字符串。如果到了中间位置都没有发现不相等的字符,则说明是回文字符串。
相关问题
用c++写一个判断回文数的代码
以下是用C语言编写判断回文数的代码:
```
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, flag = 0;
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for(i = 0; i < len / 2; i++)
{
if(str[i] != str[len - i - 1])
{
flag = 1;
break;
}
}
if(flag == 1)
printf("%s 不是回文数\n", str);
else
printf("%s 是回文数\n", str);
return 0;
}
```
程序首先要求用户输入一个字符串,然后计算字符串的长度。接下来,程序使用一个for循环遍历字符串的前半部分,如果发现前后字符不同,就将flag标记为1,并且跳出循环。最后,根据flag的值输出结果,如果flag为1,则字符串不是回文数,否则字符串是回文数。
用c++编写一个判断回文的程序
以下是一个用C++编写的判断回文的程序:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cout << "请输入一个字符串:";
getline(cin, str);
int len = str.length();
bool isPalindrome = true;
for (int i = 0; i < len / 2; i++) {
if (str[i] != str[len - i - 1]) {
isPalindrome = false;
break;
}
}
if (isPalindrome) {
cout << str << " 是回文" << endl;
} else {
cout << str << " 不是回文" << endl;
}
return 0;
}
```
程序首先让用户输入一个字符串,然后使用循环遍历字符串的前一半字符,如果某个字符与对应位置的字符不相等,说明该字符串不是回文,将标志位 `isPalindrome` 设为 `false` 并跳出循环。最后根据标志位输出判断结果。
阅读全文