关于c语言的回文编程

Python014

关于c语言的回文编程,第1张

char f(int n){

if(n>10 &&n<100 &&n%10==n/10 || n>99 &&n<1000 &&n%10==n/100)

return 1

else return 0

}

这个就可以了。

#include <stdio.h>

#include <string.h>

#include <ctype.h>

int ispalindrome(char *str) {

int s=0,e=strlen(str)-1,m=(s+e)/2

while(s<=m&&str[s]==str[e])

{

s++

e--

}

if(s>m)

return 1

return 0

}

int main(void) {

char buffer[1024]

gets(buffer)

printf("[%s] is ", buffer)

if (ispalindrome(buffer)) puts("a palindrome")

else puts("not a palindrome")

return 0

}

回文数的程序:回文数是从右向左读和从左向右读都是一样的。比如15651,

1221等。这个程序是验证用户输入的一个四位数是不是回文数。但是程序好像有错误:

举个例子:用户输入5885。先分离数字,a,b,c,d分别等于5,8,8,5。然后判断a是否等于d且b是否等于c。如果条件满足则是回文数,否则不是。