3397 - 习题7-16 数制转换
写一个函数,将一个十六进制数转换为十进制数。在主函数中输入一个十六进制数(满足十六进制数格式的字符串),通过调用此函数,得到该十六进制数所对应的十进制数,并输出。
Input
十六进制数(满足十六进制数格式的字符串)
Output
该十六进制数所对应的十进制数,行尾换行。
Examples
Input
1A
Output
26
Hint
可以采用如下函数原型
int to_decimal(char s[]);
Solution C
#include<stdio.h> void main() {int i=0; int value=0; char ch[10]; gets(ch); while (ch[i]) { if(ch[i]>='A'&&ch[i]<='F') value=(ch[i]-55)+16*value; else if(ch[i]>='a'&&ch[i]<='f') value=(ch[i]-87)+16*value; else if(ch[i]>='0'&&ch[i]<='9') value=(ch[i]-48)+16*value; else{printf("输入有误\n"); break; } i++;} printf("%d\n",value); }
Solution C++
#include<stdio.h> int main() { int n; scanf("%x",&n); printf("%d",n); return 0; }
Hint
可以采用如下函数原型
int to_decimal(char s[]);