数据结构C语言将一个十进制数转换成另外一个P进制数字符串(可以是二进制到十六进制)(共2页).doc
《数据结构C语言将一个十进制数转换成另外一个P进制数字符串(可以是二进制到十六进制)(共2页).doc》由会员分享,可在线阅读,更多相关《数据结构C语言将一个十进制数转换成另外一个P进制数字符串(可以是二进制到十六进制)(共2页).doc(2页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上实验课题一: 将一个十进制数转换成另外一个P进制数字符串(可以是二进制到十六进制)。转换函数的原型为:void Convert (int n, char str, unsigned P);n:输入,待转换的数str:输出,转换好的P进制字符串P:输入,要转换的进制,取值可从2到16。如果在这范围之外,可认为输入错,不做转换。将一个整数转换成P进制的数,我们可以采用如下的方法:例:十进制转换成八进制(P等于8):(66)10=(102)866/8=8 余 28/8 =1 余 01/8 =0 余 1当商为0时转换结束,转换结果为上述过程余数序列的逆序:102。先求得的余数
2、在写出结果时最后写出,最后求出的余数最先写出,符合栈的LIFO性质,故可用栈来实现数制转换。#include#include#define maxsize 100typedef struct char datamaxsize; int top;sqstack,*Stack;Stack initstack() Stack s; s=(Stack)malloc(sizeof(sqstack); s-top=-1; return s;int push(Stack s,char ch) if(s-top=maxsize) return 0; else s-data+s-top=ch; return 1
3、; int pop(Stack s,char *ch) if(s-top=-1) return 0; else *ch=s-datas-top-; return 1; void Convert (int n, char str, unsigned p)/十进制数据n向p进制转换 Stack s; int i=0; s=initstack(); while(n) if(n%ptop!=-1) pop(s,&stri+); stri=0;void main() int n; char strmaxsize; unsigned p; printf(请输入数据nn); scanf(%d,&n); printf(请输入数据pn); scanf(%d,&p); Convert(n,str,p); printf(%sn,str);专心-专注-专业
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 语言 一个 十进制 转换 另外 进制数 字符串 可以 二进制 十六进制
链接地址:https://www.taowenge.com/p-6071274.html
限制150内