| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4478 人关注过本帖
标题:对于十六进制字符串转换成十进制的程序我怎么做不对啊
取消只看楼主 加入收藏
Zzling_001
Rank: 1
来 自:安徽阜阳
等 级:新手上路
帖 子:13
专家分:7
注 册:2015-12-10
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
对于十六进制字符串转换成十进制的程序我怎么做不对啊
#include<stdio.h>
#include<math.h>
int main()
{
    long a=0;
    int i,n;
    char hex[9];
    printf("Input hex:");
    gets(hex);
    for(i=0;hex[i]!='\0';i++)
    {
        n=i;
    }
    for(i=0;hex[i]!='\0';i++)
    {
        a+=hex[i]*pow(16,n-1);
    }
    printf("%ld\n",a);
    return 0;
}



程序能运行  但答案是错误的  为什么呢??
搜索更多相关主题的帖子: 十进制 return include 十六进制 字符串 
2015-12-13 21:54
Zzling_001
Rank: 1
来 自:安徽阜阳
等 级:新手上路
帖 子:13
专家分:7
注 册:2015-12-10
收藏
得分:0 
   为甚么 没有大神帮我呢。。实在是不知道哪里错了 ,,应该是自己进入了一个死胡同   感觉自己的程序是没有问题的,,可是答案却不对
2015-12-13 22:50
Zzling_001
Rank: 1
来 自:安徽阜阳
等 级:新手上路
帖 子:13
专家分:7
注 册:2015-12-10
收藏
得分:0 
回复 3楼 newdos
对哦,,我把程序改成了这样
#include<stdio.h>
#include<math.h>
int main()
{
    long a=0;
    int i,n;
    char hex[9];
    printf("Input hex:");
    gets(hex);
    for(i=0;hex[i]!='\0';i++)
    {
        n=i;
    }
    for(i=0;hex[i]!='\0';i++)
    {
        a+=hex[i]*pow(16,n-1-i);
    }
    printf("%ld\n",a);
    return 0;
}
算是解决了16的次方问题   那么你说的1A~1E是什么意思呢??
2015-12-14 21:38
Zzling_001
Rank: 1
来 自:安徽阜阳
等 级:新手上路
帖 子:13
专家分:7
注 册:2015-12-10
收藏
得分:0 
回复 7楼 newdos
???什么意思啊》?
2015-12-18 13:33
Zzling_001
Rank: 1
来 自:安徽阜阳
等 级:新手上路
帖 子:13
专家分:7
注 册:2015-12-10
收藏
得分:0 
回复 6楼 wp231957
bool hex_check(char* s)
{
    bool result=true;
    for(;*s!='\0';s++)
    {
        if(*s<'0' || (*s>'9' && *s<'A') || (*s>'F' && *s<'a') || *s>'f')
        {
            result=false;
            break;
        }
    }
    return result;
}


  那这个是什么用的啊??
2015-12-18 13:35
快速回复:对于十六进制字符串转换成十进制的程序我怎么做不对啊
数据加载中...
 
   



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

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