回文是指一个字符串正读和反读都一样的字符串。“上海自来水来自海上”就是一个回文,在C语言中,我们可以通过比较字符串的首尾字符来判断一个字符串是否为回文,下面是一个C语言判断回文的程序:
#include <stdio.h> #include <string.h> int main() { char str[100]; printf("请输入一个字符串:"); scanf("%s", str); int len = strlen(str); for (int i = 0; i < len / 2; i++) { if (str[i] != str[len - 1 - i]) { printf("这不是一个回文字符串。 "); return 0; } } printf("这是一个回文字符串。 "); return 0; }
在这个程序中,我们首先通过scanf
函数获取用户输入的字符串,然后使用strlen
函数获取字符串的长度,接着,我们使用一个循环来比较字符串的首尾字符,如果发现有不相等的字符,那么这个字符串就不是回文,我们输出提示信息并结束程序,如果循环结束后都没有发现不相等的字符,那么这个字符串就是回文,我们输出提示信息。
需要注意的是,这个程序只能判断长度不超过100个字符的回文字符串,如果需要判断更长的回文字符串,可以修改程序中的数组大小,这个程序没有考虑空格、标点符号等特殊字符对回文判断的影响,如果需要考虑这些因素,可以在读取字符串后对字符串进行预处理,去除空格、标点符号等特殊字符。