2026-02-15 16:15:03
1、回文判断方法:
有一个
第一个字符与最后一个字符是否相同
第二个字符与倒数第二个字符是否相同
......
只要有一对字符不相同,则不是回文,否则为回文。
2、可以参考下面的代码:
int huiwen(char *s)
{
char *p = s;
while(*p) p++;//找到结束符\0的位置。
p--;//\0的前一个字符,就是字符串的最后一个字符。
while(s<p)
{
if(*s != *p) return 0;//发现不同,不是回文。
s++;
p--;//二者向中间移动。
}
return 1;//到相遇后一直相同,是回文。
}
int main()
{
char s[100];
scanf("%s",s);//输入字符串。
if(huiwen(s))//判断是否回文并输出结果。
printf("%s是回文字符串\n",s);
else
printf("%s不是回文字符串\n",s);
return 0;
}

扩展资料:
isdigit()函数:判断一个字符是否为数字
iscntrl()函数:判断一个字符是否为控制字符
isalpha()函数:判断一个字符是否是字母
isalnum()函数:判断一个字符是否是字母或者数字
double cabs(struct complex znum) 返回复数znum的
double fabs(double x) 返回双精度参数x的绝对值
long labs(long n) 返回
modf()函数:提取
参考资料来源:
2026-04-04 02:34:49
#include <stdio.h>
#include <string.h>
#define N 100
int main(){
char s[N];
int i,j,n,count=0;
printf("Input a string:\n");
gets(s);
n=strlen(s);
for(i=0,j=n-1;i<j;i++,j--){
if(s[i] == s[j])
count++;
else
count--;
}
if(count == (n/2))
printf("输入的是回文。");
else
printf("输入的不是回文。");
return 0;
}
程序解析:
输入提示信息:“Input a string:\n”
输入格式:gets()
判断是回文的输出提示信息:“输入的是回文。”
判断不是回文的输出提示信息:“输入的不是回文。”

扩展资料:
gets()函数:从标准输入设备读字符串函数。
用来从标准输入设备(键盘)读取字符串直到换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。
其调用格式为:
gets(s);
其中s为字符串变量(字符串数组名或字符串指针)。
gets(s)函数与scanf("%s",s)相似,但不完全相同。
使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
2026-05-25 02:23:28
用两头凑法,找到字符串的最后一个字符,与第一个字符比较。然后各自向中间移动,逐个比较。如果比较中出现不同,则不是回文。当二者相遇时,一直都相同,则字符串为回文。
参考代码如下:
int huiwen(char *s)
{
char *p = s;
while(*p) p++;//找到结束符\0的位置。
p--;//\0的前一个字符,就是字符串的最后一个字符。
while(s<p)
{
if(*s != *p) return 0;//发现不同,不是回文。
s++;
p--;//二者向中间移动。
}
return 1;//到相遇后一直相同,是回文。
}
int main()
{
char s[100];
scanf("%s",s);//输入字符串。
if(huiwen(s))//判断是否回文并输出结果。
printf("%s是回文字符串\n",s);
else
printf("%s不是回文字符串\n",s);
return 0;
}
2026-07-28 04:48:30
回文判断方法:
有一个字符串,依次作如下判断:
第一个字符与最后一个字符是否相同
第二个字符与倒数第二个字符是否相同
......
只要有一对字符不相同,则不是回文,否则为回文。
以下是C语言代码,供参考:
#include <stdio.h>
#include <string.h>
#define N 100 //定义存储字符串的数组大小
int main(void)
{
char str[N];
int i,j,flag=1; //定义int型变量flag,作为判断是否回文的标志
printf("请输入字符串:");
gets(str); //把输入的字符串存入数组
i=strlen(str)-1; //下标从0开始,最后字符下标为字符串长度-1
for(j=0;j<=i;i--,j++)
if(str[i]!=str[j])
{
flag=0; //只要有一对相比较的字符不同,则置flag为0
break;
}
if(!flag) //若flag非真,即为0,则输出不是回文
printf("不是回文\n");
else
printf("是回文\n");
return 0;
}
2026-07-24 22:30:02