問題描述
從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。
注:十六進製制數中的10~15分別用大寫的英文本母a、b、c、d、e、f表示。
樣例輸入
ffff
樣例輸出
65535
思路:16進製制轉10進製,方法就是展開每一位,最後一位*16的0次方,倒數第二位*16的一次方,倒數第三位*16的3次方。。。。
在將得到的結果相加的和就是我們要的10進製數,輸入16進製制數因為有字母用gets輸入,因為最後一位是*16的0次方,所以將陣列倒著來,假如這位數是數字將他-『0』就將字元的數字變成數字,假如是字母則-『a』在+10就得到數字,在求和。
注意:本題輸入的不超過8位的16進製制數,轉成10進製挺大的,我這裡用了double在輸出時用%.0lf,就可以解決了。
**:
#include #include #include int main(void)
if (a[i]<='f'&&a[i]>='a')
z++; //次方加1
} printf("%.0lf",s);
return 0;
}
C程式 藍橋 基礎練習 十進位制轉十六進製制
問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推...
藍橋基礎練習 十進位制轉化為十六進製制
問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推...
藍橋杯基礎練習 十進位制轉十六進製制
問題描述 十六進製制數是在程式設計時經常要使用到的一種整數的表示方式。它有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f共16個符號,分別表示十進位制數的0至15。十六進製制的計數方法是滿16進1,所以十進位制數16在十六進製制中是10,而十進位制的17在十六進製制中是11,以此類推...