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