我是靠谱客的博主 难过大地,这篇文章主要介绍数据结构 进制转换(十进制转换为d(2、8、16)进制)C语言,现在分享给大家,希望可以做个参考。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include<stdlib.h> #include<stdio.h> #include<stddef.h> #define MAXSIZE 50 typedef char ElemType; /*定义栈结构*/ typedef struct { ElemType data[MAXSIZE]; int top; }SeqStack,*PSeqStack; /*初始化栈,构造一个空栈,如果成功,则返回栈的地址*/ PSeqStack Init_SeqStack() { PSeqStack s; s=(PSeqStack)malloc(sizeof(SeqStack)); if(s) s->top=-1; return s; } /* 判断栈是否为空,如果为空,则返回1,否则返回0*/ int Empty_SeqStack(PSeqStack s) {if(s->top==-1) return 1; else return 0; } /*入栈操作,栈不满时,入栈一个元素,成功返回1,失败返回0*/ int Push_SeqStack(PSeqStack s,ElemType x) { if(s->top==MAXSIZE-1 ) return 0; else {s->top=s->top+1; s->data[s->top]=x; return 1; } } /*出栈操作,栈不空时,出栈一个元素,用参数*x保存,成功返回1,失败返回0*/ int Pop_SeqStack(PSeqStack s,ElemType *x) { if(Empty_SeqStack(s)) return 0; else { *x=s->data[s->top]; s->top=s->top-1; return 1; } } /*取栈顶元素操作,栈不空时,获取栈顶元素,成功返回1,失败返回0*/ int GetTop_SeqStack(PSeqStack s,ElemType *x) { if(Empty_SeqStack(s)) return 0; else *x=s->data[s->top]; return 1; } /*销毁栈*/ void Destroy_SeqStack(PSeqStack *s) { if(*s) free(*s); *s=NULL; return; } /*十进制转换成r进制(2,8,16)*/ void Conversion(int num,int r) { PSeqStack s; ElemType x; if(!r) { printf("基数不能为0"); return; } s=Init_SeqStack(); if(!s) { printf("初始化栈空间失败"); return; } while(num) {if(num%r>9) Push_SeqStack(s,num%r+'A'-10); /*余数大于9,则进栈ABCDEF*/ else Push_SeqStack(s,num%r+'0'); /*余数小于10,则进栈数字字符*/ num=num/r; } while(!Empty_SeqStack(s)) {Pop_SeqStack(s,&x); printf("%c",x); } } int main() { int r, num; printf("请输入要转换的数据"); scanf("%d",&num); printf("请输入要转换成几进制:"); scanf("%d",&r); Conversion(num,r); //getch(); //非程序一部分,Dev-C++环境要求 }

资源源自:顺序栈实现将十进制整数转换为r(2、8、16)进制数_zyj_hollowword的博客-CSDN博客_顺序栈实现十进制转换任意进制 

最后

以上就是难过大地最近收集整理的关于数据结构 进制转换(十进制转换为d(2、8、16)进制)C语言的全部内容,更多相关数据结构内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(81)

评论列表共有 0 条评论

立即
投稿
返回
顶部