【MAC 上学习 C++】Day 50-5. 实验8-2-5 判
2019-10-13 本文已影响0人
RaRasa
实验8-2-5 判断回文字符串 (20 分)
1. 题目摘自
https://pintia.cn/problem-sets/13/problems/554
2. 题目内容
本题要求编写函数,判断给定的一串字符是否为“回文”。所谓“回文”是指顺读和倒读都一样的字符串。如“XYZYX”和“xyzzyx”都是回文。
函数接口定义:
bool palindrome( char *s );
函数palindrome判断输入字符串char *s是否为回文。若是则返回true,否则返回false。
输入样例1:
thisistrueurtsisiht
输出样例1:
Yes
thisistrueurtsisiht
输入样例2:
thisisnottrue
输出样例2:
No
thisisnottrue
3. 源码参考
#include <iostream>
#include <string.h>
using namespace std;
#define MAXN 20
bool palindrome( char *s );
int main()
{
char s[MAXN];
cin.get(s, MAXN, '\n');
if ( palindrome(s)==true )
{
cout << "YES" << endl;
}
else
{
cout << "NO" << endl;
}
cout << s << endl;
return 0;
}
bool palindrome( char *s )
{
int i, n;
int flg;
n = strlen(s);
flg = 0;
for(i = 0; i < n / 2; i++)
{
if(s[i] != s[n - i - 1])
{
flg = 1;
break;
}
}
if(flg == 0)
{
return true;
}
return false;
}