Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 173 Accepted Submission(s) : 37
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
Write a program to determine whether a word is a palindrome. A palindrome is a sequence of characters that is identical to the string when the characters are placed in reverse order. For example, the following strings are palindromes: “ABCCBA”, “A”, and “AMA”. The following strings are not palindromes: “HELLO”, “ABAB” and “PPA”.
Input
The input file will consist of up to 100 lines, where each line contains at least 1 and at most 52 characters. Your program should stop processing the input when the input string equals “STOP”. You may assume that input file consists of exclusively uppercase letters; no lowercase letters, punctuation marks, digits, or whitespace will be included within each word.
Output
A single line of output should be generated for each string. The line should include “#”, followed by the problem number, followed by a colon and a space, followed by the string “YES” or “NO”.
Sample Input
ABCCBA
A
HELLO
ABAB
AMA
ABAB
PPA
STOP
Sample Output
#1: YES
#2: YES
#3: NO
#4: NO
#5: YES
#6: NO
#7: NO
此代码一直找不到错误,但提交就是不正确
#include<stdio.h>
#include<string.h>
int main()
{
int len ;
int i,j,k,l=0;
char s[110];
while(gets(s),!(s[0]=='S'&&s[1]=='T'&&s[2]=='O'&&s[3]=='P'))//
{ l++;
len=strlen(s);
k=1;
for(i=0,j=len-1;i<j;i++,j--)
{
if(s[i]!=s[j])
{
k=0;
break;
}
}
if(k==1)
{
printf("#%d: YES\n",l);
}
else
{
printf("#%d: NO\n",l);
}
}
return 0;
}*/
#include<stdio.h>
#include<string.h>
int main()
{
char s[110];
int i,j;
int l=0;
int len,k;
while(gets(s))
{ l++;
if(strcmp(s,"STOP")==0)
break;
len=strlen(s);
k=1;
for(i=0,j=len-1;i<j;i++,j--)
{
if(s[i]!=s[j])
{
k=0;
break;
}
}
if(k==0)
{
printf("#%d: NO\n",l);
}
else
{
printf("#%d: YES\n",l);
}
}
return 0;
}