| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1282 人关注过本帖
标题:求助 雷格码问题 问什么WA 啊。
取消只看楼主 加入收藏
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
求助 雷格码问题 问什么WA 啊。
#include <stdio.h>
int main()
{
    int a,i,k,m;
    k=1;
    int d[100]={0}//用来表示二进制的;
    int e[100]={0};//用来雷格码的
    int sum=0;
    m=0;
    scanf("%d",&a);//输入十进制数
    for(i=0;;i++)
    {
        d[i]=a%2;
        a/=2;
        m++;
        if(0==a) break;
    }
    for(i=0;i<m;i++)
    {
        if(i==m) e[i]=d[i];
        else if(d[i]==d[i+1]) e[i]=0;
        else e[i]=1;
        sum+=e[i]*k;
        k*=10;
    }
    printf("%d\n",sum);
    return 0;
}这是我的代码。。
搜索更多相关主题的帖子: include 二进制 十进制 
2013-05-05 11:16
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
收藏
得分:0 
没人看吗?
2013-05-05 11:39
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 3楼 weipeng1217
没怎么看出区别啊?
2013-05-05 12:10
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
收藏
得分:0 
求助。
2013-05-05 12:21
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 5楼 nero33
k赋成0?
下面我要k*10啊。
我在VC上运行是对的
只不过在OJ上是WA
2013-05-05 12:27
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 8楼 weipeng1217
程序代码:
#include <stdio.h>
int main()
{
    int a,i,k,m;
    int d[100]={0};//用来表示二进制的;
    int e[100]={0};//用来雷格码的
    int sum=0;
    m=0;
    k=1;
    scanf("%d",&a);//输入十进制数
    for(i=0;;i++)
    {
        d[i]=a%2;
        a/=2;
        m++;
        if(0==a) break;
    }
    for(i=0;i<m;i++)
    {
        if(i==m) e[i]=d[i];
        else if(d[i]==d[i+1]) e[i]=0;
        else e[i]=1;
        sum+=e[i]*k;
        k*=10;
    }
    printf("%d\n",sum);
    return 0;
}





程序代码:
#include <stdio.h>
int main()
{
    int a,i,k,m;
    m=0;
    k=1;
    int d[100]={0};//用来表示二进制的;
    int e[100]={0};//用来雷格码的
    int sum=0;
   
    scanf("%d",&a);//输入十进制数
    for(i=0;;i++)
    {
        d[i]=a%2;
        a/=2;
        m++;
        if(0==a) break;
    }
    for(i=0;i<m;i++)
    {
        if(i==m) e[i]=d[i];
        else if(d[i]==d[i+1]) e[i]=0;
        else e[i]=1;
        sum+=e[i]*k;
        k*=10;
    }
    printf("%d\n",sum);
    return 0;
}

都是WA。。。
2013-05-05 13:11
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 10楼 weipeng1217
就是我学校的OJ。。
2013-05-07 10:24
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 11楼 helloUJS
嗯。。
就是可能int sum 不够我改成了
程序代码:
#include <stdio.h>
int main()
{
    int a,i,k,m;
    k=1;
    m=0;
    int d[100]={0};
    int e[100]={0};
    scanf("%d",&a);
    for(i=0;;i++)
    {
        d[i]=a%2;
        a/=2;
        m++;
        if(0==a) break;
    }
    for(i=0;i<m;i++)
    {
        if(i==m-1) e[i]=d[i];
        else if(d[i]==d[i+1]) e[i]=0;
        else e[i]=1;
    }
    for(i=m-1;i>=0;i--)
    {
    printf("%d",e[i]);
    }
    printf("\n");
    return 0;
}

就对了。谢谢啦
2013-05-07 10:37
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
收藏
得分:0 
回复 12楼 weipeng1217
也谢谢你啦。我准备加你哪个群。赋值一般都要加在定义之后吗?
2013-05-07 10:38
快速回复:求助 雷格码问题 问什么WA 啊。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030754 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved