进制转换

来源:互联网 发布:瑜伽初学者软件 编辑:程序博客网 时间:2024/05/21 07:09


Link:https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6?tpId=37&tqId=21228&tPage=1&rp=&ru=%2Fta%2Fhuawei&qru=%2Fta%2Fhuawei%2Fquestion-ranking


题目描述

写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )

输入描述:

输入一个十六进制的数值字符串。

输出描述:

输出该数值的十进制字符串。

示例1

输入

0xA

输出

10

AC code:

#include<iostream>#include<math.h>#include<string.h>using namespace std;int main(){    char s[1000];    int i,len,cnt,ans;    while(scanf("%s",&s)!=EOF)    {        ans=cnt=0;        len=strlen(s);        for(i=len-1;i>=2;i--)        {            if(s[i]>='A'&&s[i]<='F')            {                ans+=(s[i]-'A'+10)*((int)pow(16,cnt));            }            else if(s[i]>='a'&&s[i]<='f')            {                ans+=(s[i]-'a'+10)*((int)pow(16,cnt));            }            else            {            ans+=(s[i]-'0')*((int)pow(16,cnt));                }            cnt++;        }        printf("%d\n",ans);  }    return 0;}


原创粉丝点击