C语言程序检查给定字符串是否为回文?


回文是指一个单词、数字、短语或其他字符序列,其反向读取与正向读取相同。例如“madam”、“racecar”或数字 10801 就是回文。

对于给定的字符串,如果反转字符串得到相同的字符串,那么我们可以说给定的字符串是回文。这意味着要检查回文,我们需要找到第一个和最后一个、第二个和倒数第二个等等元素是否相等。

输入 − naman 

输出 − 字符串是回文 

输入 − tutorials point 

输出 − 字符串不是回文

在 C++ 程序中检查给定字符串是否为回文。输入的字符串被复制到一个新字符串中,然后我们将第一个字母与字符串的最后一个字母进行比较,第二个字母与倒数第二个字母进行比较,以此类推,直到字符串结束。如果两个字母具有相同的字符序列,即它们相同,则该字符串是回文,否则不是。

示例

#include <iostream>
#include<string.h>
using namespace std; {
   int main(){
      char string1[]={"naman"};
      int i, length;
      int flag = 0;
      length = strlen(string1);
      for(i=0;i < length ;i++){
         if(string1[i] != string1[length-i-1]) {
            flag = 1;
            break;
         }
      }
      if (flag==1){
         printf(" string is not a palindrome");
      } else {
         printf(" string is a palindrome");
      }
      return 0;
   }
}

输出

string is a palindrome

注意 - 程序区分大小写。

更新于: 2019年8月9日

10K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告