m0_58129543
2021-06-15 23:04
采纳率: 100%
浏览 27

回文串(字符数组)。。。。

问题描述:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

输入:输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串(每个字符串的长度不超过100)。

输出:

如果一个字符串是回文串,则输出"yes",否则输出"no".

哪里错了<(_ _)>

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 已采纳
    #include "stdio.h"
    void main()
    {
        int n,i=0;
        int j = 0;
        int len = 0;
        char str[100];
        int flag = 0;
        printf("请输入n");
        scanf("%d",&n);
        while(i<n){
        	fflush(stdin);
        	gets(str);  //获取字符串
        	len  = strlen(str);
        	flag = 0;
        	for(j=0;j<len/2;j++){
        		if(str[j]!=str[len-j-1]){
        			flag = 1;
        			break;	
        		}
        	}
        	i++;
        	if(flag){
        		printf("%s不是回文\n",str);	
        	}else{
        		printf("%s是回文\n",str);
        	}    	
        }
    }
    打赏 评论
  • CSDN专家-link 2021-06-15 23:11

    while有问题,\n是不会读入a数组的。建议初始化a[100] = {0},然后while中判断a[j] != '\0'来判断结束,从而获得实际输入字符串长度

    1 打赏 评论
  • 有问必答小助手 2021-06-17 15:53

    您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

    如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

    ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m

    打赏 评论

相关推荐 更多相似问题