數據結構——進制轉化

#include<stdio.h>
#include<stdlib.h>
#define MAXN 1000

char c[36] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B',
'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
int stack[MAXN];
int top = -1;

int StackEmpty()
{
	if (top < 0)
		return 1;
	else
		return 0;
}

char pop()
{
	int temp = stack[top--];
	return c[temp];
}

void push(int value)
{
	stack[++top] = value;
}

void conversion(int N, int d)
{
	while (N)
	{
		push(N%d);
		N = N / d;
	}
	while (!StackEmpty())
	{
		printf("%c", pop());
	}
}

int main()
{
	int number, d;
	scanf("%d %d", &number, &d);
	conversion(number, d);
	printf("\n");
	system("pause");
	return 0;
}

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