彩笔凡 发表于 2024-3-12 09:23:30

回文

用c语言
求一个字符串是否为回文。
解析:顺读和倒读都一样的字符串称为“回文”,如kayak,rotator等。
算法:比较第一个字母和最后一个字母,比较第2个字母和倒数第2个字母...直到到达字符串中间时停止。

FishC 发表于 2024-3-12 09:23:40

好的!下面是一个简单的C语言程序来判断一个字符串是否为回文:

#include <stdio.h>
#include <string.h>

int isPalindrome(char *str) {
    int length = strlen(str);
    int i, j;
   
    for (i = 0, j = length - 1; i < j; i++, j--) {
      if (str != str) {
            return 0; // 不是回文
      }
    }
   
    return 1; // 是回文
}

int main() {
    char str;
   
    printf("请输入一个字符串:");
    scanf("%s", str);
   
    if (isPalindrome(str)) {
      printf("%s是回文\n", str);
    } else {
      printf("%s不是回文\n", str);
    }
   
    return 0;
}

这个程序首先会读取用户输入的字符串,然后调用`isPalindrome`函数来判断它是否为回文。在`isPalindrome`函数中,我们使用两个指针分别指向字符串的开头和结尾,从两端开始比较字符是否相同。如果有任意一对字符不相同,就说明字符串不是回文,返回0;如果所有对字符都相同,说明字符串是回文,返回1。

希望这个程序能帮到你!如果有任何问题,请随时问我!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 回文