스택을 사용하여 C 프로그래밍에서 십진수를 이진으로 변환하는 방법

user11231270

십진수를 이진수로 변환하고 이진수 값이 스택에 저장되는 C 프로그래밍 코드를 시도하고 있습니다.

내 코드에 따르면 실행할 때 오류 응답이 표시됩니다. peek 메서드를 사용하여 이진수를 표시하려고하면 응용 프로그램이 끝없이 실행됩니다.

#include<stdio.h>
#include<stdlib.h>
#define MAX 50
typedef enum{FALSE, TRUE} boolean;
typedef struct stack{
    int top;
    int a[MAX];
} stack;
void CreateStack(stack *s){
    s->top = -1;
}
boolean isEmpty(stack *s){
    return (s->top == -1);
}
boolean isFull(stack *s){
    return(s->top == MAX - 1);
}
void push(stack *s, int data){
    if(isFull(s)){
        exit(1);
    }
    else{
        s->top = s->top + 1;
        s->a[s->top] = data;
    }
}
int pop(stack *s){
    if(isEmpty(s)){
        exit(1);
    }
    else{
        return s->a[s->top];
        s->top = s->top - 1;
    }
}
int peek(stack *s){
    return s->a[s->top];
}
void binary(stack *s, int num){
    int n;
    while(num != 0){
        if(!isFull(s)){
             n = num % 2;
            push(s,n);
            num = num / 2;
        }
        else{
            exit(1);
        }
    }
}
void main() {
    stack s;
    CreateStack(&s);
    int num,n;
    printf("Enter the decimal number: ");
    scanf("%d",&num);
    binary(&s,num);
    printf("Top = %d\n",peek(&s));
    while(!isEmpty(&s)){
        printf("%d ",pop(&s));
    }
}
레알

pop()데드 코드 포함 — 값을 반환하지만 top반환 연산자 뒤에 감소하고 더 ​​새로운 값에 도달합니다.

int pop(stack *s){
    if(isEmpty(s)){
        exit(1);
    }
    else{
        return s->a[s->top];
        s->top = s->top - 1; // <------------
    }
 }

다음과 같이 변경하십시오.

int pop(stack *s){
    if(isEmpty(s)){
        exit(1);
    }
    else{
        int temp = s->a[s->top];
        s->top = s->top - 1;
        return temp;
    }
 }

추신 나에게는 else키워드를 생략 할 수 있지만 맛 문제입니다.

int pop(stack *s) {
    int temp;

    if(isEmpty(s))
        exit(1);

    temp = s->a[s->top];
    s->top = s->top - 1;
    return temp;
 }

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C #을 사용하여 십진수를 문자열로 변환하는 방법

분류에서Dev

이진 코드 십진수를 C ++에서 int로 변환하는 방법

분류에서Dev

c에서 문자열을 사용하여 십진수를 이진으로 변환합니다.

분류에서Dev

C # 십진수와 천을 사용하여 double을 문자열로 변환하는 방법

분류에서Dev

데이터 파일에서 sed를 사용하여 십진수 지수 값을 0으로 바꾸는 방법

분류에서Dev

C # WPF 매개 변수를 사용하여 프로그래밍 방식으로 TextBlock을 만드는 방법

분류에서Dev

Visual Studio 2010에서 C #을 사용하여 프로그래밍 방식으로 현재 솔루션에 기존 프로젝트를 추가하는 방법

분류에서Dev

C #을 사용하여 프로그래밍 방식으로 GitHub 데이터를 다운로드하는 방법

분류에서Dev

Integer.parseInt (String, int)를 사용하여 문자열을 십진수로 변환하는 방법

분류에서Dev

C #에서 LDAP를 사용하여 프로그래밍 방식으로 AD 사용자의 Exchange 및 Lync 계정을 활성화하는 방법

분류에서Dev

Python에서 STACK을 사용하여 10 진수를 이진수로 변환하는 방법

분류에서Dev

변환을 사용하거나 사용하지 않고 프로그래밍 방식으로 플롯에서 .ico 이미지를 사용하는 방법

분류에서Dev

WPF에서 MVVM 디자인 패턴을 사용하여 프로그래밍 방식으로 DataGrid 행을 선택하고 포커스를 설정하는 방법

분류에서Dev

javascript 및 php를 사용하여 Office Automation 프로그래밍에서 사람을 선택하는 방법

분류에서Dev

C #을 사용하여 프로그래밍 방식으로 Outlook에서 보낸 사람 이름 변경

분류에서Dev

XSL을 사용하여 모든 십진수를 0으로 변경하는 방법

분류에서Dev

PHP를 사용하여 평일을 이진 표현으로 또는 그 반대로 변환하는 방법

분류에서Dev

C # 병렬 프로그래밍을 사용하여 필드에 데이터를 삽입하는 방법

분류에서Dev

이진수를 십진수로 변환하는 C ++ 응용 프로그램에서 작업 중입니다.

분류에서Dev

십진수를 이진 문자열로 변환하는 C 프로그램

분류에서Dev

Objective-C를 사용하여 프로그래밍 방식으로 검색 창에 모서리 반경을 추가하는 방법은 무엇입니까?

분류에서Dev

Android 프로그래밍에서 jsoup을 사용하여 HTML에서이 스크립트를 얻는 방법

분류에서Dev

DateTime.Now를 C #에서 0에서 1 십진수 형식으로 변환하는 방법

분류에서Dev

C 프로그래밍에서 printf의 형식을 지정하기 위해 변수를 호출하는 방법

분류에서Dev

십진수를 이진수로 변환하는 가장 빠른 방법-Javascript

분류에서Dev

이진수를 십진수로 변환하는 방법은 무엇입니까?

분류에서Dev

c # 문자열 값을 십진수로 변환하는 올바른 방법

분류에서Dev

프로그래밍 방식으로 안드로이드와 페이스 북에서 사진을 공유하는 방법

분류에서Dev

구식 방식을 사용하여 정수를 이진으로 변환

Related 관련 기사

  1. 1

    C #을 사용하여 십진수를 문자열로 변환하는 방법

  2. 2

    이진 코드 십진수를 C ++에서 int로 변환하는 방법

  3. 3

    c에서 문자열을 사용하여 십진수를 이진으로 변환합니다.

  4. 4

    C # 십진수와 천을 사용하여 double을 문자열로 변환하는 방법

  5. 5

    데이터 파일에서 sed를 사용하여 십진수 지수 값을 0으로 바꾸는 방법

  6. 6

    C # WPF 매개 변수를 사용하여 프로그래밍 방식으로 TextBlock을 만드는 방법

  7. 7

    Visual Studio 2010에서 C #을 사용하여 프로그래밍 방식으로 현재 솔루션에 기존 프로젝트를 추가하는 방법

  8. 8

    C #을 사용하여 프로그래밍 방식으로 GitHub 데이터를 다운로드하는 방법

  9. 9

    Integer.parseInt (String, int)를 사용하여 문자열을 십진수로 변환하는 방법

  10. 10

    C #에서 LDAP를 사용하여 프로그래밍 방식으로 AD 사용자의 Exchange 및 Lync 계정을 활성화하는 방법

  11. 11

    Python에서 STACK을 사용하여 10 진수를 이진수로 변환하는 방법

  12. 12

    변환을 사용하거나 사용하지 않고 프로그래밍 방식으로 플롯에서 .ico 이미지를 사용하는 방법

  13. 13

    WPF에서 MVVM 디자인 패턴을 사용하여 프로그래밍 방식으로 DataGrid 행을 선택하고 포커스를 설정하는 방법

  14. 14

    javascript 및 php를 사용하여 Office Automation 프로그래밍에서 사람을 선택하는 방법

  15. 15

    C #을 사용하여 프로그래밍 방식으로 Outlook에서 보낸 사람 이름 변경

  16. 16

    XSL을 사용하여 모든 십진수를 0으로 변경하는 방법

  17. 17

    PHP를 사용하여 평일을 이진 표현으로 또는 그 반대로 변환하는 방법

  18. 18

    C # 병렬 프로그래밍을 사용하여 필드에 데이터를 삽입하는 방법

  19. 19

    이진수를 십진수로 변환하는 C ++ 응용 프로그램에서 작업 중입니다.

  20. 20

    십진수를 이진 문자열로 변환하는 C 프로그램

  21. 21

    Objective-C를 사용하여 프로그래밍 방식으로 검색 창에 모서리 반경을 추가하는 방법은 무엇입니까?

  22. 22

    Android 프로그래밍에서 jsoup을 사용하여 HTML에서이 스크립트를 얻는 방법

  23. 23

    DateTime.Now를 C #에서 0에서 1 십진수 형식으로 변환하는 방법

  24. 24

    C 프로그래밍에서 printf의 형식을 지정하기 위해 변수를 호출하는 방법

  25. 25

    십진수를 이진수로 변환하는 가장 빠른 방법-Javascript

  26. 26

    이진수를 십진수로 변환하는 방법은 무엇입니까?

  27. 27

    c # 문자열 값을 십진수로 변환하는 올바른 방법

  28. 28

    프로그래밍 방식으로 안드로이드와 페이스 북에서 사진을 공유하는 방법

  29. 29

    구식 방식을 사용하여 정수를 이진으로 변환

뜨겁다태그

보관