全心思齐网

C语言编写函数,判断一个字符串是否是回文。若是回文函数返回值为1,否则返回?

#include <stdio.h>#include <string.h>#define IS_PALINDROME 1#define IS_NOT_PALINDROME 0#define STR_YES "yes"#define STR_NO "no"#define MAX_SIZE 80int isPalindrome(char str[]);int main(){ char str[MAX_SIZE + 1]; printf("请输入一个字符串:\n")

; /* 获取用户输入的字符串 */ gets(str)

; /* 判断是否回文并输出相应信息 */ if (isPalindrome(str) == IS_PALINDROME) { printf(STR_YES); } else { printf(STR_NO); } return 0;}/* 判断给定字符串是否为回文 str——待判断的字符串 如果str是回文,返回1;否则返回0 */int isPalindrome(char str[]){ int length = 0; /* 字符串长度 */ int i = 0; /* 如果字符串长度为0或负值,则认为它不是回文; 否则,将首尾对应的字符进行比较:

——如果有任意一组对应的字符不相等,则认为它不是回文;

——否则认为是回文. */ if ((length = strlen(str)) <= 0) { return IS_NOT_PALINDROME; } else { for (i = 0; i < length / 2; i++) { if (str[i] != str[length - 1 - i]) { return IS_NOT_PALINDROME; } } } return IS_PALINDROME;}

匿名回答于2024-05-21 14:24:39


相关知识问答