在C語言中,可以使用棧來實現進制轉換。
首先,創建一個棧,并初始化為空棧。
然后,將要轉換的十進制數不斷除以目標進制,并將余數依次入棧,直到商為0為止。
最后,將棧中的元素依次出棧,即可得到轉換后的結果。
以下是一個使用棧實現十進制轉二進制的示例程序:
#include <stdio.h>
#define MAX_SIZE 100
int stack[MAX_SIZE];
int top = -1;
void push(int item) {
if (top >= MAX_SIZE - 1) {
printf("Stack Overflow\n");
return;
}
stack[++top] = item;
}
int pop() {
if (top < 0) {
printf("Stack Underflow\n");
return -1;
}
return stack[top--];
}
void convertToBinary(int num) {
while (num > 0) {
push(num % 2);
num /= 2;
}
printf("Binary representation: ");
while (top >= 0) {
printf("%d", pop());
}
printf("\n");
}
int main() {
int decimalNum;
printf("Enter a decimal number: ");
scanf("%d", &decimalNum);
convertToBinary(decimalNum);
return 0;
}
運行程序后,輸入一個十進制數,程序將輸出對應的二進制表示。
注意,這只是一個示例程序,可以根據需要進行修改以實現其他進制的轉換。