C语言实现回文字符串判断
在编程中,我们经常会遇到需要判断一个字符串是否为回文的问题,回文是指正读和反读都一样的字符串,level”,“madam”等,在C语言中,我们可以通过一些简单的算法来实现这个功能。
我们需要创建一个函数,该函数接受一个字符串作为参数,我们可以使用两个指针,一个从字符串的开始位置开始,另一个从字符串的结束位置开始,这两个指针分别向前和向后移动,同时比较它们指向的字符是否相等,如果所有的字符都相等,那么这个字符串就是一个回文。
以下是一个简单的C语言程序,用于判断一个字符串是否为回文:
#include <stdio.h>
#include <string.h>
int isPalindrome(char *str) {
int start = 0;
int end = strlen(str) - 1;
while (start < end) {
if (str[start] != str[end]) {
return 0;
}
start++;
end--;
}
return 1;
}
int main() {
char str[100];
printf("Enter a string: ");
scanf("%s", str);
if (isPalindrome(str)) {
printf("%s is a palindrome.
", str);
} else {
printf("%s is not a palindrome.
", str);
}
return 0;
}
在这个程序中,我们首先定义了一个名为isPalindrome的函数,该函数接受一个字符串作为参数,我们在main函数中获取用户输入的字符串,并调用isPalindrome函数来判断该字符串是否为回文,如果isPalindrome函数返回1,那么我们就打印出该字符串是回文;否则,我们就打印出该字符串不是回文。



还没有评论,来说两句吧...