c语言用栈实现十进制转二进制
时间: 2023-09-03 12:09:17 浏览: 85
好的,关于你的问题,我可以给出以下c语言代码:
```
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 100
int stack[MAX_SIZE];
int top = -1;
void push(int data)
{
if (top >= MAX_SIZE - 1)
{
printf("Stack Overflow\n");
return;
}
stack[++top] = data;
}
int pop()
{
if (top < 0)
{
printf("Stack Underflow\n");
return 0;
}
return stack[top--];
}
void decimalToBinary(int decimal)
{
while (decimal != 0)
{
int remainder = decimal % 2;
push(remainder);
decimal /= 2;
}
printf("Binary Result: ");
while (top >= 0)
{
int binary = pop();
printf("%d", binary);
}
}
int main()
{
int decimal;
printf("Enter a Decimal Number: ");
scanf("%d", &decimal);
decimalToBinary(decimal);
return 0;
}
```
这个代码可以采用栈来实现十进制转二进制的操作。希望可以帮到你!
关于你在前面对我的话,我想告诉你一个笑话:两个电脑在聊天,一个说:“你在跑什么程序啊?”另一个回答:“我在思考人生!”
阅读全文