用C语言写出用数据结构中用栈实现进制间的转换-小知识的简介

正在使用人数

话题:用C语言写出用数据结构中用栈实现进制间的转换问题详情:向栈输入任何非负进制数整数,然后把这个整数首先转换为十进制回答:十进制换二进制,进制,十六进制#include#include#defineOK1#defineERROR0#defineOVERFLOW-2#defineLISTINCREMENT10#defineINFEASIBLE-1#de。

小知识:用C语言写出用数据结构中用栈实现进制间的转换-小知识

用C语言写出用数据结构中用栈实现进制间的转换-小知识

时间:2016-04-13 05:22    来源: 我爱IT技术网    编辑:佚名

话题:用C语言写出用数据结构中用栈实现进制间的转换

问题详情:向栈输入任何非负进制数整数,然后把这个整数首先转换为十进制

回答:十进制换二进制,进制,十六进制 #include #include #define OK 1 #define ERROR 0 #define OVERFLOW -2 #define LISTINCREMENT 10 #define INFEASIBLE -1 #define STACK_INIT_SIZE 100 #define STACKINCREMENT 10 typedef int SElemType; typedef int Status; typedef int ElemType; typedef struct SqStack { SElemType *base; SElemType *top; int stacksize; }SqStack; SqStack S; Status InitStack(); Status Push(SElemType e); Status Pop(SElemType *e); Status StackEmpty(); void main() { char *b="0123456ABCDEF"; int n,N,M,L,e; SqStack S; InitStack(); printf("请输入要转换的数字:"); scanf("%d",&n); N=M=L=n; while

话题:用栈实现的10进制转换成其它进制。横线上面的 码不要更

问题详情: 10进制转其它进制,num是数字,n是进制 main() { intn,i; scanf(

回答:你的题目应该是来自软考的试题吧,附参考 : (1)num0或num (2)num%n (3)num/=n或num=num/n (4)Pop(s)

话题:判断栈满、入栈、出栈),并利用栈实现进制转换为二进

回答:#includestdio.h #includeiostream using namespace std; #includemalloc.h typedef char ElemType; typedef struct node { ElemType data; struct node *next; } LinkStack; void InitLinkStack (LinkStack * & s) { s=(LinkStack *)malloc(sizeof(LinkStack)); s-next=NULL; } int IsEmptyLinkStack (LinkStack *s) { return (s-next==NULL); } void PushLinkStack(LinkStack* &s , ElemType x) { LinkStack *p; p=(LinkStack*)malloc(sizeof(LinkStack)); p-data=x; p-next=s-next; s-next=p; } int PopLinkStack (LinkStack* & s, ElemType &

话题:用链栈实现将十进制转化进制数。(要完整的C++程

问题详情:(要完整的C++程序或C语言程序,谁能解决我把分数都给他,拜

回答:栈的基本 作函数你自己搞定.我的是实现将十进制转化进制数的函数. void conversion(){ initstack(s); 构造空栈 scanf("%d",&n); while(n){ push(S,n%); 入元素为栈定新元素 n=n/;} while(!stackempty(s)){ 判断栈s是否为空栈 pop(s,e); 删除栈定元素,用e返回该元素 printf("%d",e);} }

话题:用栈实现进制转换

问题详情:不过最近在学数据结构,所以想用栈的方法,实现下。不会有点问题详情

回答:程序如下,运行通过: #include stdio.h #include stdlib.h #define maxsize 50 typedef int elemtype; typedef struct { elemtype data[50]; int top; }sqstack; void initstack(sqstack *s) { s=(sqstack *)malloc(sizeof(sqstack)); s-top=-1; } int stacklength(sqstack *s) { return (s-top+1); } elemtype gettop(sqstack *s) { elemtype x; if(s-top==-1) return 0; x=s-data[s-top]; return x; } int push(sqstack *s,elemtype x) { s-top++; s-data[s-top]=x; return 1; } int pop(sqstack *s) { if(s-top==-1) return 0; else s

话题:用C语言栈实现进制转换,十进制转成2,,16,2,,16转成十进

回答:} b[i]='.hn");int main(){ int R。Output为每个测试实例输出转换后的数;1||n0) { a=n%R; printf(",将它转换成R进制数输出;0'); if(n==1) printf(" n=n=16;%d %d" char b[10000]; while(scanf("。如果R大于10,每个测试实例包含两个整数N(32位整数)和R(2 for(i=strlen(b)-1,b[i]),&R);A'-"=R long n;n"1\0;n"+aProblem De ion输入一个十进制数N;10);+a-10; while(n=10) b[i]=' if(a if(n);#include<,&n;R?n;i--) printf(" if(n==-1) printf(" i=0;; n=n/ else b[i]='0) printf("-1\=0,a;i%c"-1) { if(n<,i;string。Input输入数据包含多个测试实例;);\:-n;stdio;0'n"0\\ i++.h>,等等)。Sample Input 223 12-4 3Sample Output1111B-11#

参考回答:应该没有那么长吧,去掉栈的函数,把其他 码发上来看看

话题:使用栈实现进制转换

问题详情:题目描述使用栈将一个很长(30)的十进制转换为二进制数输

回答:递归 码(使用系统自动分配的栈): #include iostreamusing namespace std;#define MAXN 1000bool isok(char *n){ int len=strlen(n); for(int i=0; i len; i++) { if(n[i] !='0') return false; } return true;}void dec2bin(char* n){ if(!isok(n)) { int ys=0; int len=strlen(n); int ans=(n[len - 1]-'0') % 2; for(int i=0; ilen; i++) { ys=ys * 10 + n[i]-'0'; n[i]=ys / 2 + '0'; ys=ys % 2; } dec2bin(n); cout ans; }}int main(){ while(1) { char n[MAXN]; memset(n, 0, sizeof(n)); cin n; int len=strlen(n); dec2bin(n); cout endl; } return 0;} --------------------- 非递归 码(虽然

话题:用链栈实现进制转换成r进制,调不通过,怎么改呢?

问题详情:头 #includeiostreamusing namespace std;template class T

回答:#includeiostreamusing namespace std;template class Tstruct Node{T data;NodeT *next;};template class Tclass Linkstack{public:Linkstack(){top=NULL;}~Linkstack();void Push(T x);T Pop();bool empty(){int a;top==NULL?a=1:a=0; return a;} 问题一private:NodeT *top;};templateclass TLinkstackT::~Linkstack(){NodeT *p;while(top){p=top-next;delete top;top=p;}}templateclass Tvoid LinkstackT::Push(T x){NodeT *s;s=new NodeT;s-data=x;s-next=top;top=s;}template class TT LinkstackT::Pop(){ NodeT *p;T x;if(top==NULL)throw"下溢";x=top-data;p=top;top=top-

话题:谁能帮忙用栈实现进制对其他进制转换?

问题详情:要求用C++和栈做,实现进制对2、10、16进制转换。 :

回答:#include stdio.h#include stdlib.hstruct stack { int length; struct data *top; };struct data { char c; struct data *next; };struct stack *InitStack() { struct stack *p; p=(struct stack *)malloc(sizeof(struct stack)); p-length=0; p-top=NULL; return p;}void Push(struct stack *p,char a) { struct data *t; t

话题:C++链式栈实现进制转换

问题详情:\c\链式栈实现进制转换\aaa.h(1) : error C205: syntax error : '

回答:不要在头 中定义函数,看看这篇 文:: blog.csdnhttp://www.zhishizhan.net/xiaozhishi/jiangjianant/article/details/2126

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

猜你喜欢:

与“用C语言写出用数据结构中用栈实现进制间的转换-小知识”相关的热门小知识: