3397 - 习题7-16 数制转换

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 12 MB

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

题目输入

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

题目输出

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

输入/输出样例

输入格式

1A

输出格式

26

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);
}

C++解答

#include<stdio.h>
int main()
{
  int n;
  scanf("%x",&n);
  printf("%d",n);
  return 0;
}