编写一个函数,输入一个十六进制数,输出相应的十进制数,

luckyyulin 2010-11-21 11:47:02
//将对应的十六进制数转换成十进制
 
#include <stdio.h>
//实现幂运算
int g(int x,int y)
{
int i,s=1,result;
if(y==0)
{
result=x;
printf("x=%d\n",x);
}
else
for(i=1;i<=y;i++)
s*=16;
result=s*x;
printf("16的%d次方为:%d",y,s);
printf("\n");
return result;
}
//将对应的十六进制数转换成十进制
int inverse(char a[4],int num)
{
int sum=0,b[4],c[4],i;
char d[4];
for(i=0;i<=num;i++)
{
d[num-i]=a[i];
b[i]=d[i]-48;
c[i]=g(b[i],i);

}
printf("前后转换后:\n");
for(i=0;i<=num;i++)
printf("%c",d[i]);
printf("\n");
printf("前后转换后:\n");
for(i=0;i<=num;i++)
printf("%5d",b[i]);
printf("\n");
for(i=0;i<=num;i++)
sum+=c[i];
return sum;
}
main()
{
int i,num;
char a[4];
printf("请输入一个十六进制数:");
scanf("%s",a);
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
printf("\n");
num=i-1;
printf("num=%d",num);
printf("转换后的数为:\n");
printf("%d",inverse(a,num));
}

...全文
2394 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
無_1024 2010-11-21
  • 打赏
  • 举报
回复

#include <stdio.h>
//实现幂运算
int g(int x,int y)
{
int i,s=1,result;
if(y==0)
{
result=x;
printf("x=%d\n",x);
}
else
for(i=1;i<=y;i++)
s*=16;
result=s*x;
printf("16的%d次方为:%d",y,s);
printf("\n");
return result;
}
//将对应的十六进制数转换成十进制
int inverse(char a[4],int num)
{
int sum=0,b[4],c[4],i;
char d[4];
for(i=0;i<=num;i++)
{
d[i]=a[num-i];//------
b[i]=d[i]-48;
c[i]=g(b[i],i);

}
printf("前后转换后:\n");
for(i=0;i<=num;i++)
printf("%c",d[i]);
printf("\n");
printf("前后转换后:\n");
for(i=0;i<=num;i++)
printf("%5d",b[i]);
printf("\n");
for(i=0;i<=num;i++)
sum+=c[i];
return sum;
}
int main()
{
int i,num;
char a[4];
printf("请输入一个十六进制数:");
scanf("%s",a);
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
printf("\n");
num=i-1;
printf("num=%d",num);
printf("转换后的数为:\n");
printf("%d\n",inverse(a,num));
return 0;
}

hk2305621_1 2010-11-21
  • 打赏
  • 举报
回复
以16进制方式将输入接受,然后,以10进制输出
hk2305621_1 2010-11-21
  • 打赏
  • 举报
回复
#
include <stdio.h>
int main(void) {
int x;
scanf("%x", &x);
printf("%d\n", x);
return 0;
}


这样就可以实现你要的功能了。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧