編寫一個程序,不使用格式控制符 %x 的情況下,將十進制數轉換爲十六進制。

更多資料請點擊:我的目錄

#include <stdio.h>

void func(unsigned n,char hex_num[]);

int main()
{
	int n;
	char hex_num[17]="0123456789ABCDEF"; //定義一個char字符型數組存放十六進制數
	printf("請輸入一個十進制正整數:");
	scanf("%d",&n);
	printf("其十六進制表示爲:");
	func(n,hex_num); //調用遞歸函數來轉換成十六進制輸出
	printf("\n");
	return 0;
}

void func(unsigned n,char hex_num[])
{
	if(n<16)
	{
		printf("0x");
	}
	else
	{
		func(n/16,hex_num); //遞歸運算
	}
	printf("%c",hex_num[n%16]); //求餘,輸出十六進制數字符數組對應的字符
}

在這裏插入圖片描述
更多資料請點擊:我的目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章