当前位置: 代码迷 >> 综合 >> 1000: 回文串问题
  详细解决方案

1000: 回文串问题

热度:73   发布时间:2023-12-03 18:10:09.0

题目描述

“回文串”是一个正读和反读都一样的字符串,字符串由数字和小写字母组成,比如“level”或者“abcdcba”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

输入

输入包含多个测试实例,每一行对应一个字符串,串长最多100字母。

输出

对每个字符串,输出它是第几个,如第一个输出为"case1: ";如果一个字符串是回文串,则输出"yes",否则输出"no",在yes/no之前用一个空格。

样例输入

level
abcde
noon
haha

样例输出

case1: yes
case2: no
case3: yes
case4: no

提示

请使用scanf进行输入。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{char str[103];int len1,k=0,i,j,flag=0;memset(str,0,sizeof(char)*103);while((scanf("%s",str))!=EOF){k++;getchar();len1=strlen(str);  for(i=0,j=len1-1;i<len1/2&&j>0;i++,j--){if(str[i]!=str[j]){printf("case%d: no\n",k);flag=1;break;       }}    if(flag==0)printf("case%d: yes\n",k);memset(str,0,sizeof(char)*103);//初始化数组以免在下次的输入发生错乱flag=0;}return 0;
}

 

  相关解决方案