函数题:回文
回文是前后两个方向拼写完全相同的字符串。回文的例子如“radar”、"able was i ere i saw elba"和"ABCBA","ABBA"。很显然,空字符串是回文,任何一个只有1个字符的字符串是回文。编写一个函数 testPalindrome, 判断一个字符串是否是回文。
### 函数接口定义:
c++
在这里描述函数接口。例如:
int testPalindrome ( char *start, char *end);
其中 start 和 end 都是用户传入的参数。 字符指针start 指向字符串第一个字符,字符指针end 指向字符串最后一个字符('\0'前的一个字符)。
### 裁判测试程序样例:
c++
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str);
int testPalindrome(char *start, char *end);
int main(void)
{
char s[30];
gets(s);
if (isPalindrome(s))
{
printf("%s is a palindrome.\n", s);
}
else
{
printf("%s is not a palindrome.\n", s);
}
return 0;
}
//isPalindrome函数用来调用testPalindrome
//该函数为用户提供了更友好的接口
//我们可以称isPalindrome函数是testPalindrome函数的包装函数
int isPalindrome(char *str)
{
return testPalindrome(str, str + strlen(str) - 1);
}
/* 请在这里填写答案 */
### 输入样例1:
in
radar
### 输出样例1:
out
radar is a palindrome.
### 输入样例2:
in
ABBA
### 输出样例2:
out
ABBA is a palindrome.
### 输入样例3:
in
ABCA
### 输出样例3:
out
ABCA is not a palindrome.
答案:若无答案欢迎评论
### 函数接口定义:
c++
在这里描述函数接口。例如:
int testPalindrome ( char *start, char *end);
其中 start 和 end 都是用户传入的参数。 字符指针start 指向字符串第一个字符,字符指针end 指向字符串最后一个字符('\0'前的一个字符)。
### 裁判测试程序样例:
c++
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str);
int testPalindrome(char *start, char *end);
int main(void)
{
char s[30];
gets(s);
if (isPalindrome(s))
{
printf("%s is a palindrome.\n", s);
}
else
{
printf("%s is not a palindrome.\n", s);
}
return 0;
}
//isPalindrome函数用来调用testPalindrome
//该函数为用户提供了更友好的接口
//我们可以称isPalindrome函数是testPalindrome函数的包装函数
int isPalindrome(char *str)
{
return testPalindrome(str, str + strlen(str) - 1);
}
/* 请在这里填写答案 */
### 输入样例1:
in
radar
### 输出样例1:
out
radar is a palindrome.
### 输入样例2:
in
ABBA
### 输出样例2:
out
ABBA is a palindrome.
### 输入样例3:
in
ABCA
### 输出样例3:
out
ABCA is not a palindrome.
答案:若无答案欢迎评论