2850 - 【设计型】第7章:函数 十六变十

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 2 MB

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

题目输入

1个数。

题目输出

1个数。

输入/输出样例

输入格式

10

输出格式

16

C语言解答

#include<stdio.h> 
#include<string.h> 
#include<math.h> 
int main() 
{  
    int tran(char s[]);  
    char s[20];   
    int n;   
    gets(s);   
    n=tran(s);   
    printf("%d\n",n); 
} 
int tran(char s[]) 
{  
    int i,n,re=0;  
    n=strlen(s);  
    for(i=0;i<n;i++)  
    {   
        if(s[n-1-i]>='0' && s[n-1-i]<='9')    
            re=re+(s[n-1-i]-'0')*pow(16,i);   
        if(s[n-1-i]>='a' && s[n-1-i]<='f')    
            re=re+(s[n-1-i]-'a'+10)*pow(16,i);    
        if(s[n-1-i]>='A' && s[n-1-i]<='F')     
            re=re+(s[n-1-i]-'a'+10)*pow(16,i);  
    }   
    return(re);  
} 

C++解答

#include <cstdio>
int main(void) {
    int d, sum=0;
    scanf("%x", &d);
    printf("%d\n", d);
    return 0;
}