| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 426 人关注过本帖
标题:求解两段代码的区别之处
只看楼主 加入收藏
编程Samuel
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-1-6
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
求解两段代码的区别之处
学校的ACM,上面的WA,下面的通过了,不知道区别在哪里。。
#include<stdio.h>
#include<math.h>
int main()
{
    int n,m=0;
    while(scanf("%d",&n)!=EOF&&n!=0)
    {
        int sum=0,i=0;
        while(n!=0)
        {
            m=n%10;
            n=n/10;
            sum+=m*pow(2,i);
            i++;
        }
        printf("%0X\n",sum);
    }
  return 0;
}
 
#include<stdio.h>
int main()
{
    int a,b,c,s,t[500],i,j,k;
    while(scanf("%d",&a)!=EOF)
    {
        c=1,s=0,j=0;
        if(a==0)
            break;
        while(a!=0)
        {
            b=a%10;
            s=s+c*b;
            c=c*2;
            a=a/10;
        }
        while(s!=0)
        {
            i=s%16;
            t[j++]=i;
            s=s/16;
        }
        for(k=j-1;k>=0;k--)
        {
            if(t[k]>9)
                putchar('A'+t[k]-10);
            else
                printf("%d",t[k]);
        }
        printf("\n");
        
    }
    return 0;
}
搜索更多相关主题的帖子: include return 学校 
2015-04-06 14:15
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
pow函数返回的是一个浮点数,存在截断误差。浮点数转换为整型时采用的是舍入取整,进而可能使部分数据的误差进一步增大。

看代码,你是将一个10进制的整数每一位作为二进制的值进行转换的,再以十六进制显示出来。所以我猜你的题目大意是输入一个二进制数转换成十六进制显示。

如果我猜的不错,而你第二段代码又能AC,那这个二进制数不大,大概只有八位吧。否则应该用字符串读入数据。

兴手写两行代码交流一下。
程序代码:
#include <stdio.h>
int main()
{
    int a, s, i;
    for(; scanf("%d", &a), a; printf("%X\n", s))
    for(s = i = 0; a; a /= 10) s += a % 10 * (1 << i++);
    return 0;
}

重剑无锋,大巧不工
2015-04-06 17:54
编程Samuel
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2015-1-6
收藏
得分:0 
回复 2楼 beyondyf
好厉害,请问1<<i++是什么意思?
2015-04-06 20:53
zhou78yang
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:18
专家分:100
注 册:2014-3-18
收藏
得分:10 
回复 3楼 编程Samuel
2的i次方,i自增1……
2015-04-07 01:12
快速回复:求解两段代码的区别之处
数据加载中...
 
   



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

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