首先回文符是指从前排序和从后向前排序都是一致的。
利用函数知识先定义一个自定义函数,我自定义一个palind()函数。用strlen()函数判断字符串长度。
#include<stdio.h>
#include<string.h>
int palind(char *s)
{
int i,j;
j = strlen(s)
#include<stdio.h>
#include<string.h>
int palind(char *s)
{
int i,j;
j = strlen(s)
j--;
for(i=0;i<j && s[i]==s[j];i++,j--)
{
if(i>j)
return 0;
else
return 1;
}
}
通过for()循环语句判断是否是回文类型,j--是为了下面判断 s[ i ] == s[ j ] 做铺垫这里运用了数组的基础知识,然后return 1;判断为‘ 是 ’ return 0;判断为‘ 否 ’。
接下来就是主函数:
int main()
{
char s[100];
printf("请输入一组字符:\n");
scanf("%s",&s);
if(palind(s)==1)
printf("这组字符%s是回文符",s);
else
printf("这组字符%s不是回文符",s);
}
if函数判断是否返回结果为1
是就输出是回文符,不是则相反。
下面是完整代码:
#include<stdio.h>
#include<string.h>
int palind(char *s)
{
int i,j;
j = strlen(s)
j--;
for(i=0;i<j && s[i]==s[j];i++,j--)
{
if(i>j)
return 0;
else
return 1;
}
}
int main()
{
char s[100];
printf("请输入一组字符:\n");
scanf("%s",&s);
if(palind(s)==1)
printf("这组字符%s是回文符",s);
else
printf("这组字符%s不是回文符",s);
}
输入:ababa
结果:
这是vc++上面打出代码的结果。