如果是回文串,函数返回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;
}
#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;
}