第1关:“回文”判断
任务描述
编程判断输入的一串字符是否为“回文”。所谓“回文”,是指顺读和倒读都一样的字符串,如“level”、“dad”、“ABCBA”都是回文。
编程要求
要求编写函数完成“回文”判别的功能,接口如下: int IsReverse(const char *str);
要求在函数中使用指针变量处理字符指针str指向的字符串,并返回是否“回文”的标志:
- 返回1时,表示str指向的字符串是回文。
- 返回0时,表示str指向的字符串不是回文。
在主函数中读入一个字符串(长度不超过80),调用所写的函数进行“回文”字符串识别,根据返回的结果进行输出提示。
测试说明
平台会对你编写的代码进行测试:
测试样例1:
测试样例2:
#include <stdio.h>
#include <string.h>
#define MAX_LEN 80
int IsReverse(const char *str); //判断回文函数
int main(void)
{
char str1[MAX_LEN];
int flag=1;
printf("Input string: ");
int i=0;
scanf("%s",&str1);
// printf("%s\n",str1);
const char *str=str1;
/***************Begin**************/
flag=IsReverse(str);
/***************End***************/
if (flag == 0)
{
printf("\nNo!");
}
else
{
printf("\nYes!");
}
return 0;
}
int IsReverse(const char *str)
{
/***************Begin**************/
int len=0;
while(*(str+len)!='\0'){
len++;
}
// printf("%d\n",len);
int flag1=0;
for(int i=0;i<len/2;i++){
if(*(str+i) != *(str-i+len-1)){
return 0;
}
}
/***************End***************/
}