国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言用棧實現十進制轉換為二進制的方法示例

2020-01-26 14:06:11
字體:
來源:轉載
供稿:網友

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

#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 0typedef 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("請輸入十進制數:");  scanf("%d",&x);  DtoBTrans(x,&S);}

運行結果:

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 荥阳市| 北海市| 宣化县| 阿瓦提县| 金川县| 林周县| 宁都县| 金沙县| 萨迦县| 三亚市| 门头沟区| 雷州市| 灵璧县| 休宁县| 六安市| 桃园县| 卢龙县| 巩留县| 大港区| 清涧县| 淮滨县| 辽阳市| 泸西县| 云霄县| 长顺县| 房产| 康平县| 公主岭市| 福贡县| 红原县| 金湖县| 卢氏县| 新乡县| 樟树市| 云龙县| 和顺县| 闵行区| 若尔盖县| 怀来县| 南皮县| 凌源市|