(1)写一个函数int Palindrome(char string【20】),该函数的功能是判断字符串是否为回文字符串。若是返回1,否则为0.
(2)写一个主函数,在其中输入10个字符串,并将是回文的字符串逐行输出。所谓回文即是指从左到右和从右到左相同的字符串,如字符串LEVEL,abccba等。
#include<stdio.h>
#include<string.h>//运用strlen函数所必须的头文件
//定义一个函数
int Palindrome(char string[20])
{
int i,j; int flag=1;
i=0;j=strlen(string)-1;//strlen函数的作用是显示字符串的长度
while(i<=j)//i表示前面的字符,j表示后面的字符
{
if(string[i]!=string[j])//若首尾不相等
{
flag=0;
break;//则循环结束
}
i++;j--;//若首尾相等 ,则令i加1,j减1,继续循环
}
return flag;//返回1或0
}
//主函数
void main()
{
char string[10][20];
int i;
for(i=0;i<10;i++)
gets(string[i]);//输入
printf("\n\n\n");
printf("the Palindrome string is:\n");
for(i=0;i<10;i++)
if(Palindrome(string[i]))//如果是回文,括号内返回的值是1,即程序真值,执行if后的语句;
//如果不是回文字符串,括号内返回值为0 即为程序假值,不执行if后的语句
puts(string[i]);//输出
}
可以看到,我前5个输入的都是数字回文字符串,当然也可以输入字母字符串,如abcba等,反正都是字符串就行了