生活随笔
收集整理的這篇文章主要介紹了
基础练习 十六进制转十进制 c语言
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
基礎(chǔ)練習(xí) 十六進(jìn)制轉(zhuǎn)十進(jìn)制
問題描述
從鍵盤輸入一個不超過8位的正的十六進(jìn)制數(shù)字符串,將它轉(zhuǎn)換為正的十進(jìn)制數(shù)后輸出。
注:十六進(jìn)制數(shù)中的10~15分別用大寫的英文字母A、B、C、D、E、F表示。
樣例輸入
FFFF
樣例輸出
65535
#include<stdio.h>
#include<math.h>int main()
{double sum
=0;int i
,index
;int len
=0;char st
[8];int stt
[8];scanf("%s",st
);for(i
=0;i
<8;i
++){switch(st
[i
]){case '0':stt
[len
++]=0;break;case '1':stt
[len
++]=1;break;case '2':stt
[len
++]=2;break;case '3':stt
[len
++]=3;break;case '4':stt
[len
++]=4;break;case '5':stt
[len
++]=5;break;case '6':stt
[len
++]=6;break;case '7':stt
[len
++]=7;break;case '8':stt
[len
++]=8;break;case '9':stt
[len
++]=9;break;case 'A':stt
[len
++]=10;break;case 'B':stt
[len
++]=11;break;case 'C':stt
[len
++]=12;break;case 'D':stt
[len
++]=13;break;case 'E':stt
[len
++]=14;break;case 'F':stt
[len
++]=15;break;case 'a':stt
[len
++]=10;break;case 'b':stt
[len
++]=11;break;case 'c':stt
[len
++]=12;break;case 'd':stt
[len
++]=13;break;case 'e':stt
[len
++]=14;break;case 'f':stt
[len
++]=15;break;}}index
=len
;for(i
=0;i
<len
;i
++){sum
+=stt
[i
]*pow(16,index
-1);index
--;}printf("%.0lf\n",sum
);return 0;
}
總結(jié)
以上是生活随笔為你收集整理的基础练习 十六进制转十进制 c语言的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。