进制转换和栈
来源:互联网 发布:上海游奇网络老板是谁 编辑:程序博客网 时间:2024/06/05 15:36
用递归和栈进行进制转换。
通过编写代码,熟悉了递归函数原理和栈的基本原理。
#include<stdio.h>#include<stdlib.h>#define N 10000struct stack{int top; //栈顶int data [N];};struct stack selfstack = { -1,{0} }; //栈的初始化int isempty() //判断 ,1为空 0非空{if (selfstack.top == -1){return 1;}else{return 0;}}void setempty() //栈设置为空{selfstack.top = -1;}int push(int num) //压入数据,成功1,失败返回0{if (selfstack.top==N-1){return 0; //失败}else {selfstack.top += 1;selfstack.data[selfstack.top] = num;return 1;}}int pop(){if (selfstack.top == -1){return -1;//栈为空}else{selfstack.top -= 1;return selfstack.data[selfstack.top + 1]; //返回弹出的数据}}int tentotwo(int num){if (num != 0){int m = num % 2;//printf("%d", m);//放在递归函数之前顺序打印tentotwo(num / 2);printf("%d", m);//放在递归函数之后,逆序打印}}int B(int i)//转换成8进制{if (i != 0){int j = i % 8;B(i / 8);printf("%d", j);}else{}}void main (){tentotwo(10); //用递归把10转换二进制1010printf("\n");int num = 10; //用栈把10转换二进制1010while (num){push(num % 2);//压入数据num /= 2; //循环}while (!isempty()){printf("%d", pop());}printf("\n");B(10);//把10转换成8进制12//简单的栈操作,逆序打印出数组元素int a[10] = { 1,2,3,4,5,6,7,8,9,10 };for (int i = 0; i != 10; ++i){push(a[i]);}while (!isempty()){printf("\n%d", pop());}system("pause");}运行结果:
1010
1010
12
10
9
8
7
6
5
4
3
2
1请按任意键继续...
阅读全文
0 0
- 进制转换和栈
- C#.NET 中的类型转换和进制转换
- Java中的类型转换和进制转换
- 进制转换(char和string转换int)
- java中数据进制转换和 数据类型转换
- 栈的顺序表和进制转换
- 栈----基本操作、进制转换和迷宫求解
- 栈的使用和简单进制转换的应用
- 栈和队列应用之进制转换
- 进制和进制的转换
- 16进制和字符串之间转换
- 16进制和字符串之间转换
- 16进制和字符串之间转换
- 16进制和字符串之间转换
- 字符串和16进制整数转换
- Python中数值和进制转换
- 十进制和26进制转换算法
- IP地址和进制转换
- FPGA作为从机与STM32进行SPI协议通信---Verilog实现 [转]
- 快速下载vs2013等开发工具--资源查找
- 内连接、左外连接、右外连接、交叉连接区别
- java.sql.SQLException: The table 'label_result' is full
- 【我的Java笔记】Collection集合的概述 & List
- 进制转换和栈
- poj 3461 Oulipo
- 求 用 C# 开发文件夹在 utf-8 无BOM 格式转与utf-8带BOM 格式相互转换
- .创建一个Rectangle类,计算矩形的周长和面积,编程利用Rectangle输出一个矩形的周
- spark连接es的问题java.lang.ClassNotFoundException:org.elasticsearch.client.transport.NoNodeAvailableExcep
- 对过长的字符串,导致页面样式乱了的处理
- java高并发-线程的基本使用
- React-Native开发总结-redux层面上的问题
- Linux deepin系统下配置nginx+php-fpm+PHPstorm并解决403/404/502/file not found错误