C语言:判断一个字符串是否为回问字符串(回文字符串也是一个字符串,但是原字符串和字符串逆序之后一样,比如”abcba","cddc"就是回文字符串

来源:互联网 发布:javascript注释方法 编辑:程序博客网 时间:2024/06/03 22:02
回文字符串也是一个字符串,但是原字符串和字符串逆序之后一样,所以我们可以先把字符串翻转一下,例如:abcde->edcba; 再判断翻转后的字符串是否和元字符串一样;
// 判断一个字符串是否为回问字符串(回文字符串也是一个字符串,但是原字符串和字符串逆序之后一样,比如”abcba","cddc"就是回文字符串#include <stdio.h>#include<stdlib.h>#include<assert.h>#include<string.h>char *string_reversal(char *str,int len) //字符串翻转{assert(str);assert(len > 0);char *start = str;char *end = str + len-1;while (start < end){char temp = *start;*start = *end;*end = temp;start++;end--;}return str;}int main(){char str[] = "abcba";char str1[20];strcpy(str1, str);int len = strlen(str);string_reversal(str, len);int a = strcmp(str, str1);if (a == 0){printf("The %s is palindrome string.\n",str1);}else{printf("The %s is not palindrome string.\n",str1);}system("pause");return 0;}

0 0
原创粉丝点击