二进制数转八进制数(参考XJY)
来源:互联网 发布:现在还可以网络购彩票 编辑:程序博客网 时间:2024/06/07 16:26
#include <stdio.h>#include <stdlib.h>#include <math.h>#define STACK_INIT_SIZE 20#define STACKINCREMENT 10typedef char ElemType; //每输入一个位存入一个字符typedef struct{ElemType *base;ElemType *top;int stackSize;}sqStack;void InitStack(sqStack *s){s->base=(ElemType *)malloc(STACK_INIT_SIZE*sizeof(ElemType));if ( !s->base )exit (0);s->top=s->base;s->stackSize=STACK_INIT_SIZE;}void Push(sqStack *s, ElemType e){if( s->top - s->base > s->stackSize){s->base = (ElemType *)realloc(s->base, (s->stackSize + STACKINCREMENT)*sizeof(ElemType));if(!s->base)exit (0);}*(s->top)=e;s->top++;}void Pop(sqStack *s, ElemType *e){if(s->top == s->base)return;*e=*--(s->top);}int StackLen(sqStack s) //不会进行修改,直接传数据进来就行{return (s.top - s.base); //指针相减,不是地址相减,而是指向元素的值//s是结构,使用点}int main(){ElemType c, d;sqStack s, n;int len, len_n, i, j, sum=0, temp=0;InitStack(&s);InitStack(&n);printf("请输入二进制数,输入#符号表示结束!\n");scanf("%c", &c); // 以字符的形式while( c != '#') // 从最高位开始压栈{Push(&s, c);scanf("%c", &c);}getchar(); // 把回车'\n'从缓冲区去掉len=StackLen(s);printf("栈的当前容量是:%d\n", len);for(i=0; i<len; i++){Pop(&s, &c);if((i+1)%3 != 0){sum+=(c-'0')*pow(2, i%3);}else{sum+=(c-'0')*pow(2, i%3);d=sum;Push(&n, d);sum=0;}}if(len%3 != 0){d=sum;Push(&n, d);}len_n=StackLen(n);printf("新栈的当前容量是:%d\n", len_n);printf("转换为八进制数为:");for(j=0; j<len_n; j++){Pop(&n, &d);printf("%o", d);}printf("\n");return 0;}
0 0
- 二进制数转八进制数(参考XJY)
- 十进制数转二进制、八进制、十六进制数Java代码
- 二进制数、八进制数、十六进制数与…
- 十进制数转八进制数
- 十六进制数转八进制数
- 十进制数转八进制数
- 十进制数转八进制数
- python 的二进制、八进制、十六进制数表示
- java输出二进制,八进制,十六进制数
- 十六进制转八进制数
- 十六进制转八进制数
- 二进制数转换为八进制, 十六进制数的算法
- 二进制,八进制,十六进制数转换为十进制数的算法
- 十进制数转换为二进制,八进制,十六进制数的算法
- 十进制数转换为二进制,八进制,十六进制数的算法
- 十进制数转换为二进制,八进制,十六进制数的算法
- 十六进制,八进制,十进制数转为二进制数显示的函数
- 十进制转换为二进制数、八进制数和十六进制
- GCC 编译过程
- Linux例行性工作(at/cron)
- 单例模式---(1)
- 1166: 【求[X,Y]内被除3余1并且被除5余3的整数的和】
- 程序、进程、线程的区别与联系
- 二进制数转八进制数(参考XJY)
- 世界树
- 分布式版本控制系统 Git 简介与应用
- springMVC4(4)json与对象互转实例解析请求响应数据转换器
- eclipse中FreeMarker插件的在线安装
- 二进制转十六进制(参考XYJ)
- leetcode---Two Sum
- hdu Problem 2063 过山车
- Java中的异常处理