c语言程序教程(王敬华版)习题解答与实验指导
*模拟卷4
*
编写一个可以判断回文字符串的函数
要求***利用一个函数来判断一串字符是否回文***
思想:设置两个工作指针p1,p2分别指向字符串首尾,进行字符逐一比较,若有一个字符不相等,标记置为1,标记若为0,则为回文字符串
具体实现代码如下:
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<iostream.h>
using namespace std;
char *huiwen(char *str)
{
char *p1, *p2; //设置字符串首尾工作指针
int i, t=0;
p1=str;
p2=str+strlen(str)-1;
for(i=0;i<strlen(str)/2;i++)
if(*p1++ != *p2--) //p1,p2从字符串首尾分别进行比较
{
t=1; //不相等则将标志位置为1
break;
}
if(t==0) return("yes!"); //标志位为0表示满足回文字符定义
else return("no!");
}
int main(){
char str[50];
printf("Input: ");
scanf("%s", str);
printf("%s\n", huiwen(str));
return 0;
}