最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言用棧實現(xiàn)十進(jìn)制轉(zhuǎn)換為二進(jìn)制的方法示例

 更新時間:2017年06月05日 14:06:29   作者:PHP開發(fā)學(xué)習(xí)門戶  
這篇文章主要介紹了C語言用棧實現(xiàn)十進(jìn)制轉(zhuǎn)換為二進(jìn)制的方法,結(jié)合實例形式分析了C語言棧的定義及進(jìn)制轉(zhuǎn)換使用技巧,需要的朋友可以參考下

本文實例講述了C語言用棧實現(xiàn)十進(jìn)制轉(zhuǎn)換為二進(jìn)制的方法。分享給大家供大家參考,具體如下:

#include<stdio.h>
#include<malloc.h>
#include<math.h>
#include<string.h>
#include "process.h"
#define SIZE 100
#define STACKINCREMENT 10
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
typedef int Status;
typedef struct
{
  int a;
} SElemType;
typedef struct
{
  SElemType *base;
  SElemType *top;
  int stacksize;
} SqStack;
SqStack S; //定義全局變量
Status InitStack(SqStack *S)
{
  S->base=(SElemType *)malloc(SIZE*sizeof(SElemType));
  if(!S->base) exit(OVERFLOW);
  S->top=S->base;
  S->stacksize=SIZE;
  return OK;
}
Status Push(SqStack *S,SElemType e)
{
  if(S->top-S->base>=S->stacksize)
  {
    S->base=(SElemType *)malloc((S->stacksize+STACKINCREMENT)*sizeof(SElemType));
    if(!S->base) exit(OVERFLOW);
    S->top=S->base+S->stacksize;
    S->stacksize+=STACKINCREMENT;
  }
  *S->top++=e;
  //printf("%dwww\n",*--S->top);
  return OK;
}
Status Stackempty(SqStack *S)
{
  if(S->top==S->base)
    return TRUE;
  else
    return FALSE;
}
Status Pop(SqStack *S,SElemType *e)
{
  if(S->top==S->base) return ERROR;
  *e=*--S->top;
  return OK;
}
Status DtoBTrans(int N,SqStack *S)
{
  SElemType e;
  while(N)
  {
    e.a=N%2;
    Push(S,e);
    N=N/2;
  }
  while(!Stackempty(S))
  {
    Pop(S,&e);
    printf("%d",e);
  }
  return OK;
}
void main()
{
  int x;
  InitStack(&S);
  printf("請輸入十進(jìn)制數(shù):");
  scanf("%d",&x);
  DtoBTrans(x,&S);
}

運(yùn)行結(jié)果:

希望本文所述對大家C語言程序設(shè)計有所幫助。

相關(guān)文章

  • 簡單總結(jié)C語言中的運(yùn)算符優(yōu)先級

    簡單總結(jié)C語言中的運(yùn)算符優(yōu)先級

    這篇文章主要介紹了C語言中的運(yùn)算符優(yōu)先級,文中簡單總結(jié)了一些常用運(yùn)算符的優(yōu)先級順序以及記憶技巧,需要的朋友可以參考下
    2016-05-05
  • C++中新手容易犯的十種編程錯誤匯總

    C++中新手容易犯的十種編程錯誤匯總

    一段C語言代碼,在編譯、鏈接和運(yùn)行的各個階段都可能會出現(xiàn)問題,下面這篇文章主要給大家介紹了關(guān)于C++中新手容易犯的十種編程錯誤的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • 關(guān)于C++中虛擬繼承的一些總結(jié)分析

    關(guān)于C++中虛擬繼承的一些總結(jié)分析

    虛擬繼承在一般的應(yīng)用中很少用到,所以也往往被忽視,這也主要是因為在C++中,多重繼承是不推薦的,也并不常用
    2013-09-09
  • C++通過控制臺訪問deepseek接口并進(jìn)行對話

    C++通過控制臺訪問deepseek接口并進(jìn)行對話

    這篇文章主要為大家詳細(xì)介紹了C++如何通過控制臺訪問deepseek接口并進(jìn)行對話,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-02-02
  • C++中for auto的用法及說明

    C++中for auto的用法及說明

    這篇文章主要介紹了C++中for auto的用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C++實現(xiàn)會員管理程序

    C++實現(xiàn)會員管理程序

    這篇文章主要為大家詳細(xì)介紹了C++實現(xiàn)會員管理程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • C++中的對象數(shù)組詳細(xì)解析

    C++中的對象數(shù)組詳細(xì)解析

    在建立數(shù)組時,同樣要調(diào)用構(gòu)造函數(shù)。如果有50個元素,就需要調(diào)用50次構(gòu)造函數(shù)。在需要的時候,可以在定義數(shù)組時提供實參以實現(xiàn)初始化
    2013-10-10
  • C語言全方位講解指針的使用

    C語言全方位講解指針的使用

    指針是C語言中一個非常重要的概念,也是C語言的特色之一。使用指針可以對復(fù)雜數(shù)據(jù)進(jìn)行處理,能對計算機(jī)的內(nèi)存分配進(jìn)行控制,在函數(shù)調(diào)用中使用指針還可以返回多個值
    2022-04-04
  • C++中的volatile關(guān)鍵字及其作用

    C++中的volatile關(guān)鍵字及其作用

    本文介紹了C++中的volatile關(guān)鍵字,它用于標(biāo)識變量可能被意外修改,以及編譯器不應(yīng)進(jìn)行優(yōu)化。本文通過具體的代碼示例,闡述了volatile關(guān)鍵字的作用和使用方法,幫助讀者更好地了解該關(guān)鍵字在C++語言中的應(yīng)用場景和實現(xiàn)原理
    2023-04-04
  • C++中CString string char* char 之間的字符轉(zhuǎn)換(多種方法)

    C++中CString string char* char 之間的字符轉(zhuǎn)換(多種方法)

    在寫程序的時候,我們經(jīng)常遇到各種各樣的類型轉(zhuǎn)換,比如 char* CString string 之間的互相轉(zhuǎn)換,這里簡單為大家介紹一下,需要的朋友可以參考下
    2017-09-09

最新評論

子洲县| 湄潭县| 台安县| 抚松县| SHOW| 广昌县| 鄂州市| 兴海县| 额济纳旗| 长汀县| 深圳市| 苍梧县| 正安县| 泰宁县| 梨树县| 稷山县| 靖远县| 丰台区| 佛坪县| 开江县| 吐鲁番市| 信丰县| 汤阴县| 上犹县| 乡宁县| 西贡区| 泸溪县| 华容县| 固始县| 高唐县| 琼中| 绥阳县| 万年县| 固原市| 汤阴县| 眉山市| 建阳市| 合作市| 达拉特旗| 黄龙县| 乡城县|