输入:hello (回车)
输出:NO
输入:nihaooahin
输出:YES
法一
/* 回文串 */
#include <stdio.h>
#include <string.h>
int main(){
char arr[255];
gets(arr);
int n = strlen(arr);
int i = 0;
int j = n-1;
while(arr[i++] == arr[j--] && i < j);
if(i >= j)
printf("YES");
else
printf("NO");
putchar('\n');
}
法二
/*
* 回文串
* */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
char arr[255];
/*while(scanf("%s",arr) != EOF);
这个无法正确运行,会一直要求输入,是while后面括号中一直
收到scanf返回的是一吗?收不到zero?知道吗,请告诉我吧
*/
while(scanf("%s",arr) != EOF){
printf("hello\n");
int j;
j = strlen(arr) - 1;
int i = 0;
while(arr[i++] == arr[j--] && i < j);
if(i >= j)
printf("YES");
else
printf("NO");
putchar('\n');
}
return 0;
}
法三
/*
* 回文串 */
#include <stdio.h>
int main(){
char a[255];
int j;
for(j = 0; (a[j] = getchar()) != '\n'; ++j);
int i = 0;
--j;
while((a[i++] == a[j--]) && i < j);
if( i >= j)
printf("YES\n");
else
printf("NO\n");
return 0;
}