回覆列表
-
1 # 使用者2458114238191884
相關內容
- 將十進位制數247分別轉換為二進位制數、八進位制數和十六進位制數?
- C語言程式設計:怎麼把一個十進位制數轉換成為一個十六進位制數?
- 編寫一函式,將輸入的十六進位制數轉換成十進位制數並輸出。(C語言)?
- 西門子PLC中,二進位制、八進位制、十進位制和十六進位制的作用是什麼?為什麼要用進位制?
- 計算機進位制題目最大的數是?:十六進位制A2、二進位制10000001、八進位制177、十進位制140?
- C語言程式設計二進位制整數向八進位制、十進位制、十六進位制整數的轉換?
- 二進位制、十進位制、八進位制、十六進位制各代表的英文字母是什麼?
- 用c語言如何實現十進位制轉ASCII碼?
- 怎樣把十進位制的數轉換成二進位制、八進位制、16?
- 十六進位制帶小數轉換成十進位制?
你可以設定一個字串陣列
charHEX[16]={"0","1","2",3","4","5","6","7","8","9","A","B","C","D","E","F"}
以後你得出的數字,比如餘數y是10,那麼HEX[y]打印出來就是A了
例子(現寫的)
intnow;
intres[100];//答案
intc=0;//位數
輸入到now;
while(now>0)
{
res[c]=now%16;
now=now/16;
c++;
}
輸出是:
for(i=0;i<c;i++)
{
輸出HEX[res[i]];
}
演算法的精髓都給你啦,好好理解吧
/**********************************************
****************補充*****************
**********************************************/
改你的程式碼
#include"stdio.h"
voidmain()
{
charHEX[16]={"0","1","2",3","4","5","6","7","8","9","A","B","C","D","E","F"};//<----------------這裡加了
intnum;
printf("請輸入一個十進位制整數:");
scanf("%d",&num);
inta[10];//<----------------這裡改了
inti=0;
intyushu;
while(num>0)
{
yushu=num%16;
a[i]=yushu;
num=num/16;
i++;/*關鍵的就在這裡,這後面書上寫的要用SWITCH,但是我用不好,請各位大蝦指教*/
}
printf("轉化為十六進位制的數為:");
for(;i>=0;i--)//倒序輸出
{
printf("%c",HEX[a[i]]);//<----------------這裡改了
}
printf("\n");
}