标题:题目是编写一个函数将一个十六进制数转化为十进制数,请问我程序错在哪?求 ...
取消只看楼主
风雨晨曦
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2017-12-5
结帖率:100%
已结贴  问题点数:20 回复次数:7 
题目是编写一个函数将一个十六进制数转化为十进制数,请问我程序错在哪?求指教!谢谢!
代码:
#include<stdio.h>
#include<math.h>
int con(int);
int main(){
    int i,k;
    printf("请输入一个十六进制数:");
    scanf("%x",&i);
    k=con(i);
    printf("该数转化成十进制数为%d",k);
}
int con(int j){
    int sum=0,count=0;
    if(j=0){
        printf("该数转化成十进制数为1");
    }
    while(j){
        sum+=(j%10)*pow(16,count);
        j/=10;
        count++;
    }
    return sum;
}
搜索更多相关主题的帖子: 一个数 十六进制 转化 十进制 int 
2018-01-01 22:47
风雨晨曦
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2017-12-5
得分:0 
各位,很急!!马上就得提交了!
2018-01-01 22:59
风雨晨曦
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2017-12-5
得分:0 
回复 3楼 吹水佬
按你的作还是得不出结果啊,
2018-01-01 23:51
风雨晨曦
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2017-12-5
得分:0 
回复 5楼 吹水佬
你这个我知道,但题目要求一定得编写一个函数来转化,我编的这个函数的意思就是想把输入的十六进制数的位数都逐个拆分出来,可是运行后就没结果了
2018-01-02 12:41
风雨晨曦
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2017-12-5
得分:0 
回复 5楼 吹水佬
运行后就出现这个结果:
2018-01-02 12:51
风雨晨曦
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2017-12-5
得分:0 
回复 10楼 吹水佬
我试了一下你的,运行正确!对比发现问题出在我的程序里有那个if{j=0}的条件语句的存在,我删了后就好了,可是我不知道为啥有这个条件语句我的程序就会那样。。
2018-01-02 17:06
风雨晨曦
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2017-12-5
得分:0 
回复 13楼 li384022
嗯嗯对!就是你这样!我终于知道我哪错了,原来是我的条件语句里j应该==0
2018-01-02 17:10
风雨晨曦
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2017-12-5
得分:0 
回复 8楼 wp231957
非常感谢你!
2018-01-02 17:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-483886-1-1.html




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

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