c语言

C语言和数据结构:使用数组处理回文问题

小樊
103
2024-04-26 17:11:47
栏目: 编程语言

回文是指正着读和倒着读都相同的字符串,比如"level"、"radar"等。在C语言中,我们可以使用数组来处理回文问题。

下面是一个示例程序,通过数组处理回文问题:

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

int isPalindrome(char str[])
{
    int len = strlen(str);
    int i, j;
    
    for (i = 0, j = len - 1; i < j; i++, j--) {
        if (str[i] != str[j]) {
            return 0;
        }
    }
    
    return 1;
}

int main()
{
    char str[100];
    
    printf("Enter a string: ");
    scanf("%s", str);
    
    if (isPalindrome(str)) {
        printf("%s is a palindrome\n", str);
    } else {
        printf("%s is not a palindrome\n", str);
    }
    
    return 0;
}

在该程序中,我们定义了一个函数isPalindrome来判断给定的字符串是否是回文。函数首先获取字符串的长度,然后使用两个指针ij分别指向字符串的开头和结尾,逐步向中间移动,判断对应位置的字符是否相同,如果有不同的字符则返回0,表示不是回文;如果所有字符都相同,则返回1,表示是回文。

main函数中,我们首先输入一个字符串,然后调用isPalindrome函数来判断该字符串是否是回文,最后根据函数的返回值输出结果。

你可以在自己的电脑上编译并运行这个程序,输入不同的字符串来测试回文判断的功能。

0
看了该问题的人还看了