Problem E: 十六进制转十进制


#include<stdio.h>
int main(void)
{
    char str[80];
    int sum,i;
    while(gets(str)!=NULL)
    {
       sum=0;
       for(i=0;str[i]!='\0';i++)
        {
            if(str[i]>='a' && str[i]<='f')
                str[i]-=32;//将小写转换成大写 
            if(str[i]>='0' && str[i]<='9')
                sum=sum*16+str[i]-'0';//16进制换算十进制 
 
            if (str[i]>='A' && str[i]<='F')
                sum=sum*16+str[i]-'A'+10;//让十进制变成十六进制,ABCDEF代表10,11,12,13,14,15 
        }
        printf("%d\n",sum);
    }
    return 0;
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM