算法学习之旅,初级篇(10)--回文字符串

介绍

如果一个字符串从中间或者某一个字符处断开,离断开点的距离相同的字符如果是相同的或者是大小写关系的话,我们就称这种字符串为“”回文串“”。给你一个字符串,该字符串是否是回文串。

分析

将字符串逆序后,比较。

代码

#include
#include
#include
int main()
{
char m_str[200],m_lst[200],m_char;
int len,last;
printf("请输入字符串:\n");
scanf("%s",m_str);
strcpy(m_lst,m_str);
len=strlen(m_str);
last=len-1;
for(int i=0;i{
m_char=m_str[i];
m_str[i]=m_str[last];
m_str[last]=m_char;
last--;


}
if(!strcmp(m_str,m_lst))
printf("%s是回文字符串。\n",m_str);
else
printf("%s不是回文字符串。\n",m_lst);
system("pause");
return 0;
}

遇到的问题

strcmp函数是比较两个字符串的大小,返回比较的结果。一般形式是:  


i=strcmp(字符串,字符串);


其中,字符串1、字符串2均可为字符串常量或变量;i   是用于存放比较结果的整型变量。比较结果是这样规定的:  


①字符串1小于字符串2,strcmp函数返回一个负值;


②字符串1等于字符串2,strcmp函数返回零;


③字符串1大于字符串2,strcmp函数返回一个正值;

你可能感兴趣的:(C数据结构)