-通过函数实现由键盘输入一个十六进制数,输出相应的十进制数。
#include<iostream>
#include<cmath>
using namespace std;
void turn(char* a,int x)
{
int n=0;
for(int i=0;i<x;i++)
if(a[i]<='9')
n+=(a[i]-'0')*pow(16,(x-i-1));
else
n+=(a[i]-'A'+10)*pow(16,(x-i-1));
cout<<"转化后的十进制数:"<<n<<endl;
}
void main()
{
int b;
char num[10];
cout<<"请输入十六进制数:";
cin>>num;
do
{
for(int i=0;i<(strlen(num));i++)
if((num[i]>='0'&&num[i]<='9')||(num[i]>='A'&&num[i]<='F'))
b=0;
else
{
cout<<"请重新输入十六进制数:";
cin>>num;
b=1;
break;
}
}while(b);
turn(num,strlen(num));
}