7、Problem L判断回文串
简要题意:
“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等。判断读入的字符串是否“回文”。
解题思路:
首先定义一个数组a来存储字符串,然后利用函数计算出字符串的长度len,运用for循环,设置两个变量i=0,j=len,以len/2为对称轴,看对称两端的字符是否均相等。
解题细节:
定义数组a时,定义的是字符型char;
在计算字符串长度的时候,strlen(a)求得的并非所要字符串的长度,需要减去1才得到所需字符串长度len。
源码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
char a[110];
int n;
scanf("%d",&n);
while(n--)
{
scanf("%s",a);
int len=strlen(a)-1;
bool m=true;
for(int i=0;i<=len;i++,len--)
{
if(a[i]!=a[len])
{
m=false;
}
}
if(m==true)
printf("yes\n");
else
printf("no\n");
}
}