| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1041 人关注过本帖
标题:两个十六进制转换为十进制并求和,表示已经看了一个小时找不出错在哪了
取消只看楼主 加入收藏
紫棋的大眼睛
Rank: 1
来 自:石家庄
等 级:新手上路
帖 子:20
专家分:0
注 册:2014-10-17
结帖率:100%
收藏
 问题点数:0 回复次数:1 
两个十六进制转换为十进制并求和,表示已经看了一个小时找不出错在哪了
#include<stdio.h>
#include<math.h>
int main()
{
    int shu(char a[]);
    char a[10],b[10];
    int i=0,j=0,sum=0;
    gets(a);
    gets(b);
    sum=shu(a)+shu(b);
printf("%d",sum);

   


return 0;
}
int shu(char a[])
{
    int chang(char a[]);
    int i=0,j=0,t,m=0,n=0,sum=0,lon;
    lon=chang(a);

   
while(a[i]!='\0')
    {
        lon--;
        if(a[i]>='a' && a[i]<='f')
        {
            for(j=0;j<5;j++)
            {
                if(a[i]=='a'+m)
                {
                    t=10+n;
                    sum=sum+t*pow(16,lon);
                }
               
                m++;
                n++;
               
            }
        m=0;
        n=0;
        }
        sum=sum+(a[i]-48)*pow(16,lon);
        i++;
    }



return (sum);
}
int chang(char a[])
{
    int i=0,j=0;
    while(a[i]!='\0')
    {
        j++;
        i++;


    }
return (j);
   

}
搜索更多相关主题的帖子: 十六进制 include return 十进制 chang 
2015-01-07 21:05
紫棋的大眼睛
Rank: 1
来 自:石家庄
等 级:新手上路
帖 子:20
专家分:0
注 册:2014-10-17
收藏
得分:0 
我说下我的思路,就是利用函数先求出长度,再判断是否为字母,再将ASCII码转换为数,再乘方求和,但是结果老是不对。。。求大神

大一新生,初学c语言,多多关照
2015-01-07 21:15
快速回复:两个十六进制转换为十进制并求和,表示已经看了一个小时找不出错在哪了 ...
数据加载中...
 
   



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

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