C语言:输入一个十六进制字符串,将其转换成为对应的整数并输出转换结果。

2024-11-14 05:24:41
推荐回答(2个)
回答1:

//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "stdlib.h"
int main(void){
    int n;
    char x[9];
    printf("Input n(int hex like 0x89fd)...\n");
    scanf("%d",&n);
    while(n--){
        scanf("%s",x);
        printf("%ld\n",strtol(x+2,NULL,16));
    }
    return 0;
}

回答2:

#include
#include
int main()
{
char c[100];
int i,leng,sum,a,N;
scanf("%d",&N);
while(N--)
{
sum=0;a=1;
scanf("%s",c);
leng=strlen(c);
for(i=leng-1;i>=1;i--,a=a*16)
if(c[i]>='a' && c[i]<='f') sum+=(c[i]-87)*a;
else if(c[i]>='A'&&c[i]<='F') sum+=(c[i]-55)*a;
else if(c[i]>='0'&&c[i]<='9') sum+=(c[i]-48)*a;
printf("%d\n",sum);
}
return 0;
}
来自大华科的渣渣