c语言:这题怎么解:"输入16进制数,最后输出10进制数,用函数调用...
发布网友
发布时间:2024-10-08 05:38
我来回答
共3个回答
热心网友
时间:2024-10-08 06:10
#include<stdio.h>
main()
{
int i;
int change(int);
scanf("%x",&i);
printf("%d\n",change(i));
getch();
}
int change(int n)
{
int i=0,j,k,s,a[1000];
while(n)
{
a[i++]=n%16;
n/=16;
}
for(s=0,k=1,j=0;j<i;j++)
{
s=s+a[j]*k;
k=k*16;
}
return s;
}
热心网友
时间:2024-10-08 06:19
int num=0;
scanf("%X",&num);//输入16进制
printf("%d",num);//十进制输出
热心网友
时间:2024-10-08 06:10
#include<stdio.h>
long fun(char*s);
#define N 50
void main()
{
long m;
char s[N];
printf("输入十六进制数: ");
scanf("%s",s);
m=fun(s);
printf("%ld",m);
}
long fun(char*s)
{
int i,t;
long sum=0;
for(i=0;s[i];i++)
{
if(s[i]<='9')t=s[i]-'0';
else t=s[i]-'a'+10;
sum=sum*16+t;
}
return sum;
}