字符串\判断回文

简介: 字符串\判断回文
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 80
 
//函数声明
int palindrome(const char *str);
 
int main()
{
  //初始化
  char str[MAX],ch;
  do
  {
    printf("请输入一个字符串:");
    gets(str);
    if(palindrome(str))
      printf("这是一个回文数~\n");
    else
      printf("这不是一个回文数QAQ\n");
    printf("是否继续?(y/n)");
    ch=getchar();
    getchar();    //吃掉回车,防止干扰
    while(ch!='y' && ch!='Y' && ch!='N' && ch!='n')
    {
      printf("error input\n");
      printf("是否继续?(y/n)");
      ch=getchar();
      getchar();
    }
  }while(ch!='N' && ch!='n');
  printf("再见\n");
 
  system("pause");
  return 0;
}
 
//函数定义
int palindrome(const char *str)
{
  int i=0,j=strlen(str)-1;
  while(i<j)
  {
    while(str[i]==32) //32是空格字符的代码
      i++;
    while(str[j]==32) //跳过空格
      j--;
    if(str[j]==str[i])
    {
      i++;
      j--;
    }
    else
      return(0);  //return 0表示函数的正常结束,return(0)表示函数异常终止
  }
  return(1);
}


目录
相关文章
|
索引
【LeetCode】917. 仅仅反转字母、387. 字符串中的第一个唯一字符
目录 917. 仅仅反转字母 387. 字符串中的第一个唯一字符
48 0
|
6月前
|
C++
c++:string相关的oj题(把字符串转换成整数、344.反转字符串、387. 字符串中的第一个唯一字符、917. 仅仅反转字母)
c++:string相关的oj题(把字符串转换成整数、344.反转字符串、387. 字符串中的第一个唯一字符、917. 仅仅反转字母)
79 0
|
24天前
判断字符
【10月更文挑战第18天】判断字符。
28 5
|
7天前
|
Python
递归魔法:判断字符串是否为回文
本文介绍了如何使用递归判断一个字符串是否是回文。回文字符串是指正读和反读都相同的字符串。文章详细讲解了递归的基本思想和Python实现,并通过多个示例验证了函数的正确性。递归方法通过将大问题分解成更小的子问题,使得判断回文变得简单高效。
|
6月前
|
C++ 索引
c++:string相关的oj题(415. 字符串相加、125. 验证回文串、541. 反转字符串 II、557. 反转字符串中的单词 III)
c++:string相关的oj题(415. 字符串相加、125. 验证回文串、541. 反转字符串 II、557. 反转字符串中的单词 III)
67 0
|
6月前
49.输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL)
49.输入一字符串,检查是否回文 (回文是指正反序相同,如,LeveL)
38 0
|
6月前
|
算法
leetcode:387. 字符串中的第一个唯一字符
leetcode:387. 字符串中的第一个唯一字符
27 0
|
11月前
|
C++
C/C++判断字符串是否为另一字符串的子字符串
C/C++判断字符串是否为另一字符串的子字符串
135 0
​判断给定字符序列是否是回文
​判断给定字符序列是否是回文
76 0
LeetCode 1704. 判断字符串的两半是否相似
给你一个偶数长度的字符串 s 。将其拆分成长度相同的两半,前一半为 a ,后一半为 b 。
79 0