第一種:輸入一個數採用16進位制格式輸出
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
printf("%x", num);
return 0;
}
第二種:
#include <string.h>
char oNumTable[6] = {"A", "B", "C", "D", "E", "F"};
void dToO(int, char*);
int dNum;
char oNum[100] = {0};
//輸入一個十進位制數
scanf("%d", &dNum);
//呼叫轉換函式,將十進位制轉換成以字串表示的十六進位制
dToO(dNum, oNum);
//輸出以字串表示的16進位制資料
printf("%s\n", oNum);
void dToO(int dNum, char* oNum)
char temp[100] = {0};
for (int i = 0; (dNum) && (i < 100) ; i++) {
temp[i] = (dNum % 16);
if (temp[i] > 9) {
temp[i] = oNumTable[temp[i] - 10];
else{
temp[i] += "0";
dNum /= 16;
char* p = temp;
while (*(p+1)) p++;
for (int i = 0; p != temp - 1; i++, p--) {
oNum[i] = *p;
第一種:輸入一個數採用16進位制格式輸出
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
printf("%x", num);
return 0;
}
第二種:
#include <stdio.h>
#include <string.h>
char oNumTable[6] = {"A", "B", "C", "D", "E", "F"};
void dToO(int, char*);
int main()
{
int dNum;
char oNum[100] = {0};
//輸入一個十進位制數
scanf("%d", &dNum);
//呼叫轉換函式,將十進位制轉換成以字串表示的十六進位制
dToO(dNum, oNum);
//輸出以字串表示的16進位制資料
printf("%s\n", oNum);
return 0;
}
void dToO(int dNum, char* oNum)
{
char temp[100] = {0};
for (int i = 0; (dNum) && (i < 100) ; i++) {
temp[i] = (dNum % 16);
if (temp[i] > 9) {
temp[i] = oNumTable[temp[i] - 10];
}
else{
temp[i] += "0";
}
dNum /= 16;
}
char* p = temp;
while (*(p+1)) p++;
for (int i = 0; p != temp - 1; i++, p--) {
oNum[i] = *p;
}
}