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,那么我们就打印出该字符串是回文;否则,我们就打印出该字符串不是回文。
还没有评论,来说两句吧...