您的位置:首页 > 其它

1111 习题7-16 数制转换

2018-04-01 18:16 134 查看

题目描述

写一个函数,将一个十六进制数转换为十进制数。在主函数中输入一个十六进制数(满足十六进制数格式的字符串),通过调用此函数,得到该十六进制数所对应的十进制数,并输出。

输入

十六进制数(满足十六进制数格式的字符串)

输出

该十六进制数所对应的十进制数,行尾换行。

样例输入

1A

样例输出

26

#include<stdio.h>
#include<math.h>
#include<string.h>
int change(char str[])
{
int i,sum=0;
for(i=0;i<strlen(str);i++)
{
if(str[i]>='0'&&str[i]<='9')
sum+=(str[i]-'0')*pow(16,(strlen(str)-1-i));
else if(str[i]>='a'&&str[i]<='f')
sum+=(str[i]-'a'+10)*pow(16,(strlen(str)-1-i));
else if(str[i]>='A'&&str[i]<='F')
sum+=(str[i]-'A'+10)*pow(16,strlen(str)-1-i);
}
return sum;
}
int main()
{
char str[20]="";
gets(str);
printf("%d\n",change(str));
return 0;
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: