重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
//首先我认为回文不一定是奇数个;也有可能是偶数个;只要这个字符串
创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站制作、网站建设、许昌网络推广、小程序设计、许昌网络营销、许昌企业策划、许昌品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联建站为所有大学生创业者提供许昌建站搭建服务,24小时服务热线:18980820575,官方网址:www.cdcxhl.com
//正读跟反读都一样 那它就是回文 所以不应该把字符串的个数当成是判断回文串的
//一个条件。
#include stdio.h
#include string.h
#include conio.h
bool huiWen(const char *p);
int main()
{
char test[225];
gets(test);
if(huiWen(test))
{
printf("是回文!\n");
}
else
{
printf("不是回文!\n");
}
getch();
return 0;
}
bool huiWen(const char *p)
{
int i=0,n=strlen(p);
while(p[i]==p[n-i-1] in-i-1) //只要相等且还未相遇则继续循环
{
i++;
}
return ((in-i-1)? false:true); //若in-i-1表示中途遇到不相等的字符而退出循环
}
#include stdio.h
/*fun()函数:传入一个字符数组,如果是回文序列返回1,不是就返回0*/
int fun(char a[])
{
int i,j,n=0;
while(a[n]!='\0') n++; /*计算传入字符串(数组)长度*/
n--; /*跳出while循环时 a[n]='\0',故n--*/
for(i=0,j=n;ij;i++,j--)
if(a[i]!=a[j]) break;
if(i=j) return 1;
return 0;
}
int main()
{
char str[20];
puts("输入一个字符串:\n");
gets(str);
if(fun(str)) printf("%s 是回文序列\n",str);
else printf("%s 不是回文序列\n",str);
return 0;
}
#include stdio.h
#include string.h
#define IS_PALINDROME 1
#define IS_NOT_PALINDROME 0
#define STR_YES "yes"
#define STR_NO "no"
#define MAX_SIZE 80
int isPalindrome(char str[]);
int main()
{
char str[MAX_SIZE + 1];
printf("请输入一个字符串:\n");
/* 获取用户输入的字符串 */
gets(str);
/* 判断是否回文并输出相应信息 */
if (isPalindrome(str) == IS_PALINDROME)
{
printf(STR_YES);
}
else
{
printf(STR_NO);
}
return 0;
}
/*
判断给定字符串是否为回文
str——待判断的字符串
如果str是回文,返回1;否则返回0
*/
int isPalindrome(char str[])
{
int length = 0; /* 字符串长度 */
int i = 0;
/*
如果字符串长度为0或负值,则认为它不是回文;
否则,将首尾对应的字符进行比较:
——如果有任意一组对应的字符不相等,则认为它不是回文;
——否则认为是回文.
*/
if ((length = strlen(str)) = 0)
{
return IS_NOT_PALINDROME;
}
else
{
for (i = 0; i length / 2; i++)
{
if (str[i] != str[length - 1 - i])
{
return IS_NOT_PALINDROME;
}
}
}
return IS_PALINDROME;
}