使用栈基本操作实现十进制数到二进制数的转换的代码c语言
时间: 2024-04-30 10:22:10 浏览: 101
用栈实现十进制转换成二进制(c语言)
4星 · 用户满意度95%
下面是使用栈基本操作实现十进制数到二进制数的转换的代码c语言:
```
#include <stdio.h>
#define MAX 100
int top = -1;
int stack[MAX];
void push(int data) {
if(top == MAX - 1) {
printf("Overflow!\n");
return;
}
stack[++top] = data;
}
int pop() {
if(top == -1) {
printf("Underflow!\n");
return -1;
}
return stack[top--];
}
void decimalToBinary(int n) {
while(n > 0) {
push(n % 2);
n /= 2;
}
printf("Binary: ");
while(top != -1)
printf("%d", pop());
printf("\n");
}
int main() {
int n;
printf("Enter a decimal number: ");
scanf("%d", &n);
decimalToBinary(n);
return 0;
}
```
这段代码使用了栈的基本操作(push和pop)实现了十进制数到二进制数的转换。用户输入一个十进制数,该程序使用除2取余法将其转换为二进制数并存入栈中,最后再依次出栈输出。
阅读全文