창고로 디지털 변환 (10진법 2진법)
/*************************************stack.h********************************/
#define MAXSIZE 32
#define OVERFLOW -1
#define ERROR -2
#define DATATYPE int
typedef enum{FALSE, TRUE} BOOL;
typedef struct
{
DATATYPE * data;
int top;
}STACK;
void initStack(STACK * ps)
{
ps->data = (DATATYPE *)malloc(MAXSIZE*sizeof(DATATYPE));
ps->top = -1;
}
BOOL empty(STACK * ps)
{
if (ps->top == -1)
{
printf("/nstack empty./007");
return TRUE;
}
return FALSE;
}
BOOL full(STACK * ps)
{
if (ps->top == MAXSIZE -1)
{
printf("stack full./007/n");
return TRUE;
}
return FALSE;
}
void push(STACK * ps, DATATYPE element)
{
if (!full(ps))
{
ps->data[++ps->top] = element;
}
}
DATATYPE pop(STACK *ps)
{
if (empty(ps))
{
return OVERFLOW;
}
return ps->data[ps->top--];
}
DATATYPE getTop(STACK * ps)
{
if (!empty(ps))
return ps->data[ps->top];
return ERROR;
}
void clearStack(STACK * ps)
{
ps->top = -1;
}
void destroy(STACK * ps)
{
free(ps->data);
}
/*****************************conver.c******************************/
#include <stdio.h>
#include <stdlib.h>
#include "stack.h"
int main()
{
STACK stack;
int num;
int temp;
initStack(&stack);
printf("please input a number:");
scanf("%d", &num);
while(num)
{
push(&stack, num%2);
num = num/2;
}
while(!empty(&stack))
{
printf("%d", pop(&stack));
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python urllib 라이브러리에서 헤더를 추가하는 방법일부 사이트를 요청할 때, 우리는 요청 헤더를 붙여야만 웹 페이지의 캡처를 완성할 수 있다. 그렇지 않으면 오류가 생겨서 캡처한 웹 페이지로 돌아갈 수 없다.다음은 요청 헤더를 추가하는 두 가지 방법을 소개한다. 방...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.