新人小白一个
用的是vs2019编译器
scanf_s==scanf哦
求三连啊~~~
(。・ω・。)ノ♡
#include <stdio.h>
#include <string.h>
#include <math.h>
void abb(char arr[])
{
int i, j = 0, k;
k = strlen(arr);
for (i = k - 1; i >= 0; i--)
{
if (arr[i] >= '0' && arr[i] <= '9')
j += (arr[i] - '0') * pow(16, k - i - 1);
else if (arr[i] >= 'a' && arr[i] <= 'f')
j += (arr[i] - 'a' + 10) * pow(16, k- i - 1);
else if (arr[i] >= 'A' && arr[i] <= 'F')
j += (arr[i] - 'A' + 10) * pow(16, k - i - 1);
else
{
printf("请输入正确的十六进制数字");
return;
}
}
printf("十进制数字为%d", j);
}
int main()
{
char arr[100];
printf("请输入一个字符串十六进制数:");
gets(arr);
abb(arr);
return 0;
}