编一个程序,输入十六进制的数,输出相应的十进制数
最好能用两种方法做.编写一个函数,将十六进制数转换为十进制数,用主函数从键盘输入一个十六进制数(用四位十六进制数码表示),调用函数输出相应的十进制数(注:不能用按格式输出...
最好能用两种方法做.
编写一个函数,将十六进制数转换为十进制数,用主函数从键盘输入一个十六进制数(用四位十六进制数码表示),调用函数输出相应的十进制数(注:不能用按格式输出的形式实现转换)。 展开
编写一个函数,将十六进制数转换为十进制数,用主函数从键盘输入一个十六进制数(用四位十六进制数码表示),调用函数输出相应的十进制数(注:不能用按格式输出的形式实现转换)。 展开
展开全部
#include "stdio.h"
main()
{
char a[8];
int i=0;
unsigned long nResult=0;
for(i=0;i<8;i++)
a[i]='\0';
::scanf("%s",&a);
for(i=0;i<8;i++)
{
if(a[i]=='\0')
break;
nResult*=16;
if(a[i]>='0'&&a[i]<='9')
{
nResult+=(a[i]-'0');
}
else if(a[i]>='A'&&a[i]<='F')
{
nResult+=(a[i]-'A'+10);
}
else if(a[i]>='a'&&a[i]<='f')
{
nResult+=(a[i]-'a'+10);
}
else
{
::printf("输入的数据不合法!\r\n");
break;
}
}
::printf("%ld",nResult);
}
main()
{
char a[8];
int i=0;
unsigned long nResult=0;
for(i=0;i<8;i++)
a[i]='\0';
::scanf("%s",&a);
for(i=0;i<8;i++)
{
if(a[i]=='\0')
break;
nResult*=16;
if(a[i]>='0'&&a[i]<='9')
{
nResult+=(a[i]-'0');
}
else if(a[i]>='A'&&a[i]<='F')
{
nResult+=(a[i]-'A'+10);
}
else if(a[i]>='a'&&a[i]<='f')
{
nResult+=(a[i]-'a'+10);
}
else
{
::printf("输入的数据不合法!\r\n");
break;
}
}
::printf("%ld",nResult);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可不可以再提供一下解释?就是解释一下重要步骤,因为我不是这个专业的,只是外行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询