十六進制轉十進制:
從鍵盤輸入一個不超過8位元的正的十六進制數位符串,將它轉換爲正的十進制數後輸出。
注:十六進制數中的10~15分別用大寫的英文字母A、B、C、D、E、F表示。
C語言:
第一種方法:得分75,因爲int型是整型的
#include<stdio.h>
int main()
{
int n;
scanf("%x",&n);//輸入16進位制數
printf("%d",n);
return 0;
}
第二種方法:帶上檢測方法,得分爲0,我吐了呀。
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
int n,i=0;
long long s=0;
char a[9];
gets(a);
n=strlen(a);
printf("%d\n",n);
for(i=0;i<n;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
s+=(a[i]-'0')*pow(16,i);
printf("**%ld**",s);
}
if(a[i]>='A'&&a[i]<='F')
{
s+=(a[i]-'A'+10)*pow(16,i);
printf("**%ld**",s);
}
}
printf("%ld",s);
}