| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1282 人关注过本帖
标题:求助 雷格码问题 问什么WA 啊。
只看楼主 加入收藏
nero33
Rank: 1
来 自:四川绵阳
等 级:新手上路
帖 子:21
专家分:0
注 册:2013-5-5
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:14 
求助 雷格码问题 问什么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
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:5 
程序代码:
#include <stdio.h>
int main()
{
    int a,i,k,m;
//    k=0;  这里错了,把复制移到下面去就对了。
    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;
}

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
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
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:0 
回复 4楼 nero33
k的赋值。

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
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
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:0 
回复 7楼 nero33
你把k赋值一到定义变量之后,试试~oj经常蛋疼。。

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2013-05-05 12:44
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
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:0 
输出结果的格式再看看?哪里的oj?

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2013-05-05 14:12
快速回复:求助 雷格码问题 问什么WA 啊。
数据加载中...
 
   



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

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