鱼C论坛

 找回密码
 立即注册
查看: 2331|回复: 10

判断回文,大神们来帮看看逻辑错哪了

[复制链接]
发表于 2014-3-23 20:45:10 | 显示全部楼层 |阅读模式
5鱼币
#include<stdio.h>int main(void)
{
        char a[10];
        int i,n;
        printf("input letter numbers:");
        scanf("%d",&n);
        if(n>=10||n<=0)
                printf("input error\n");else
        {
                printf("input all letter:");
                for(i=0;i<=n;i++)
                        a[i]=getchar();
                for(i=0;i<n-i-1;i++)
                {        
                        if(a[i]!=a[n-i-1])
                        {
                                printf("NOT\n");break;
                        }
                        if(i==n/2)
                                printf("YES\n");
                }
        }
        return 0;
}

最佳答案

查看完整内容

//程序改了,你看看,在程序中我已经注释了!呵呵,有问题,再交流啊!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-23 20:45:11 | 显示全部楼层
本帖最后由 swsm 于 2014-3-23 23:00 编辑
#include<stdio.h>
int main(void)
{
        char a[10];
        int i,n;
        printf("input letter numbers:");
        scanf("%d",&n);
        if(n>=10||n<=0)
                printf("input error\n");
                else
        {
                printf("input all letter:");
                for(i=0;i<=n;i++)
                        a[i]=getchar();
                                
                for(i=0;i<=n;i++)  //这里的代码是用来检测你输入的数据的,发现你把回车换行符也放进了a数组里,问题就在这!!!
                        printf("%c",a[i]);
                                
                for(i=0;i<n;i++)     //这俩句代码用来把上面的问题解决的。
                        a[i] = a[i + 1];
               for(i=0;i<n;i++)  
                {      
                     if(a[i]!=a[n-i-1])
                        {
                                printf("NOT\n");break;
                        }
                        if(i==n/2)   
                        {
                                printf("YES\n");break;
                        }                                              
                }
        }
        return 0;
}
//程序改了,你看看,在程序中我已经注释了!呵呵,有问题,再交流啊!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-23 23:20:42 | 显示全部楼层
楼主真是精益求精啊,加油
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-24 16:38:04 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-24 16:48:00 | 显示全部楼层
zhaopengfei 发表于 2014-3-23 23:20
楼主真是精益求精啊,加油

呵呵,,,,,,,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-24 16:55:06 | 显示全部楼层
swsm 发表于 2014-3-23 22:58
//程序改了,你看看,在程序中我已经注释了!呵呵,有问题,再交流啊!!!
#include<stdio.h>
int main(void)
{
        char a[10];
        int i,n,j;
        printf("input letter numbers:");
        scanf("%d",&n);
        getchar();//使用getchar防止换行在下面被读入
        if(n>=10||n<=0)
                printf("input error\n");
        else
        {
                printf("input all letter:");
                i=0;
                for(i=0;i<n;i++)
                a[i]=getchar();

                for(i=0;i<n;i++)
                        printf("%c",a[i]);//实验证明,getchar会读入前方的所有输入
                printf("\n");
                for(j=0;j<n/2;j++)
                {        
                        if(a[j]!=a[n-j-1])
                        {
                                printf("NOT\n");break;
                        }
                        if(j==n/2)
                                printf("YES\n");
                }
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-24 21:41:09 | 显示全部楼层

不错,这样写,挺好!!!我也学习了!呵呵!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-24 22:36:35 | 显示全部楼层
水平不够,没看懂,继续努力-ING{:7_153:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-26 00:31:01 | 显示全部楼层
我也来写一个:lol::lol:
#include<iostream>

using namespace std;

int main()
{
    bool symn(unsigned n);
    int n;
    cout<<"input letter numbers:";
    cin>>n;
    if(symn(n)&&symn(n*n)&&symn(n*n*n))
    {
        cout<<n<<" is plalindrome number";
    }
    return 0;
}

bool symn(unsigned n)
{
    unsigned i=n;
    unsigned m=0;
    while(i!=0)
    {
        m=m*10+i%10;
        i=i/10;
    }
    return n==m;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-26 21:21:25 | 显示全部楼层
Simanzen 发表于 2014-3-26 00:31
我也来写一个
#include

呵呵,谢谢O(∩_∩)O
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-28 00:00:54 | 显示全部楼层
。。。。。。。。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 23:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表