C语言题目:从键盘输入一个字符串s(串内可能会包含空格),定义一个函数,来判断字符串是否为回文串。

如果是回文串,函数返回1,否则返回0。在主函数中输入字符串,并输出结果。所谓回文字符串,是指从左到右读和从右到左读完全相同的字符串。

第1个回答  2016-08-04

回答如下:

#include ""
#include ""
int myfun(char *s){
    int i,j;
    for(j=strlen(s)-1,i=0;i<j;i++,j--)
        if(s[i]!=s[j])
            return 0;
    return 1;
}
int main(void){
    char s[1025];
    if(myfun(gets(s)))
        printf("Yes!\n");
    else
        printf("No!\n");
    return 0;
}

本回答被网友采纳
第2个回答  2016-08-04
#include <stdio.h>
#include <string.h>
const int maxn = 1000 + 5;
char str[maxn];
bool is_palindrome(char str[]){
int right = 0, left = strlen(str) - 1;
while (right < left)
if (str[right++] != str[left--])
return false;
return true;
}
int main(){
fgets(str, maxn, stdin);
str[strlen(str) - 1] = '\0';
printf("%s\n", is_palindrome(str) ? "YES" : "NO");
return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网