早教吧 育儿知识 作业答案 考试题库 百科 知识分享

问题描述编写一函数palindrome(char*s)用于判断任一字符串是否是回文(即顺序读与反序读一样,例如“ABCBA”、“121”等)。输入输入文件有多组测试数据。第一行有一个整数n,它是

题目详情
【问题描述】
编写一函数palindrome(char* s)用于判断任一字符串是否是回文(即顺序读与反序读一样,例如“ABCBA”、“121”等)。
【输入】
输入文件有多组测试数据。第一行有一个整数n,它是测试数据组数,(n≤20)。接下来有n行,每行至多有m个字符,(m≤1000)。但是,每一行末尾处的换行字符不能作为这一行的内容。
【输出】
对每一组测试数据,在一行上输出你的判断结果。若是回文串,则输出“YES!”,否则输出“NO!”。
(主函数调用判别函数并输出判别结果)。
【输入样例】
3
ABCBA
121
ABCA
【输出样例】
YES!
YES!
NO!
▼优质解答
答案和解析
/* 判断回数 */
#include
#include
int palindrome(char *p) //判断是否是回数,是则返回1,不是则返回0
{
int i,j;
for(i=0,j=(int)strlen(p)-1;i {
if(*(p+i)!=*(p+j))
return 0;
}
return 1;
}
void main()
{
int num,i;
char input[20][1000];
char (*str)[1000];
str=input;
scanf("%d",&num);
getchar();
for(i=0;i gets(*(str++));
str=input;
printf("\n");
for(i=0;i {
if(palindrome(*(str++)))
printf("YES!\n");
else
printf("NO!\n");
}

}