打卡003
思考:
- 什么是回文结构
- 如何构建判断回文结构函数
解题过程:
回文结构:
如果一串字符从左至右读和从右至左读相同,那么这串字符就是回文结构。
方法一(C语言):
头文件:
#include<stdio.h>
#include<string.h>
#define MAXLENGTH 100
主函数:
int main()
{
char str[MAXLENGTH],mid;//定义数组,mid为中间值
scanf("%s",str);//输入数据
if(isPalindrome(str,&mid))
printf("是回文结构");
else
printf("不是回文结构");
return 0;
}
palindrome(回文)
函数:
int isPalindrome(const char *str,char *mid)
{
int i,len;
len=strlen(str);
*mid=str[(len-1)/2];
for(i=0;i<(len-1)/2;i++){
if(str[i]==str[len-i-1])
return 1;
else return 0;
}
}
知识点const
const限定符,它把一个对象转换成一个常数。
const和define区别:
都用来定义常数。const在定义时,还定义了常量的类型,使用更加精确。
const与指针:
const int *p=&a;
int *const p=&a;
//其中p可变,*p不可变
方法二(C++):
头文件:
#include<iostream>
#include<string.h>
using namespace std;
#define MAXLENGTH 100
主函数:
int main()
{
int m;
cin>>m;//输入字符串
if(isPalindrome(m))
cout<<m<<"是回文结构"<<endl;
else
cout<<m<<"不是回文结构"<<endl;
return 0;
}
函数:
int isPalindrome(const char *m,char *mid)
{
int i,len;
len=strlen(m);
*mid=m[(len-1)/2];
for(i=0;i<(len-1)/2;i++){
if(m[i]==m[len-i-1])
return 1;
else return 0;
}
}