2.(20分) 编写程序判断输入的字符串是否为“回文”。所谓“回文”,是指顺读和倒读都一样的字符串。如:“level”、“ABCCBA”都是回文。如是回文输出这个字符串,否则输出"No!”。要求:字符串读入及打印信息均在主函数实现,判断是否是回文调用Judger函数实现。Judger函数原型如下:
int Judger(char a[]);
*输入信息提示:“Input a string:\n”
*输入数据格式:读入一个可包含有空格的字符串
*输出数据格式:
若是回文:输出该字符串;
否则输出:“No!\n”
注:
(1)若是回文函数返回值为1,否则函数返回值为0
(2)字符串最大长度20
(3)不允许使用全局变量编写程序;
(4)不允许使用 go to 语句编写程序;
(5)请按题目给定的函数原型编写程序,不按要求编写程序,即使程序运行结果正确,人工批阅后记为0分。
#include<stdio.h>
#include<string.h>
int Judger(char a[]);
int main()
{
char str[20];
int sign;
printf("Input a string:\n");
gets(str);
sign=Judger(str);
if(sign)
printf("%s",str);
else
printf("No!\n");
return 0;
}
int Judger(char a[])
{
int i,n,sign=0;
n=strlen(a);
for(i=0;i<n/2+1;i++)
{
if(a[i]!=a[n-i-1])
{
sign=1;
break;
}
}
if(sign) return 0;
else return 1;
}