hd 2163 Palindromes

 

Palindromes

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2968    Accepted Submission(s): 1738


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
 


 

Source
 


 

Recommend
lcy   |   We have carefully selected several similar problems for you:   2161  2162  1698  1695  2072 
 


 

#include<stdio.h>
#include<string.h>
int main()
{
    char s[60],a[30],b[30];
    int i,c,k,j,t=0;
    while(gets(s)!=NULL&&strcmp(s,"STOP"))
    {
    c=strlen(s);
    j=0;
    k=0;
    if(c%2==0)
    {
       for(i=0;i<=c/2-1;i++)
       {
             b[j++]=s[i];
             }
             b[j]='\0';
       for(i=c-1;i>=c/2;i--)
       {
       a[k++]=s[i];
       }
       a[k]='\0';
              } 
      else
      {
        for(i=0;i<=c/2;i++)
        {
          b[j++]=s[i];
                           }
          b[j]='\0';
          for(i=c-1;i>=c/2;i--)
          {
            a[k++]=s[i];
                               }
            a[k]='\0';
          }    
          t++;
          printf("#%d: ",t);
          if(strcmp(a,b)==0)
          printf("YES\n");
          else
          printf("NO\n");                              
                                          }
return 0;
    }

 

 

 

#include<stdio.h>
#include<string.h>
int main()
{
    char s[60];
    int i,t,p=0;
    while(gets(s)!=NULL&&strcmp(s,"STOP"))
    {
        t=1;
        for(i=0;i<=strlen(s)-1;i++)
        {
         if(s[i]!=s[strlen(s)-i-1])
         t=0;
         break;
                                }
         p++;
        if(t)
        printf("#%d: YES\n",p);
        else
        printf("#%d: NO\n",p);
        }
return 0;
    }
//怎样输出 字符串

为一个:wa了两次,所以一定得细心
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值