欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构实验之栈与队列一:进制转换

发布时间:2025/3/21 编程问答 33 豆豆
生活随笔 收集整理的这篇文章主要介绍了 数据结构实验之栈与队列一:进制转换 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

Description
输入一个十进制非负整数,将其转换成对应的 R (2 <= R <= 9) 进制数,并输出。

Input
第一行输入需要转换的十进制非负整数;
第二行输入 R。

Output
输出转换所得的 R 进制数。

Sample
Input
1279
8
Output
2377

#include<bits/stdc++.h>using namespace std;typedef struct {int data[20];int top; } Sqstack;bool sempty(Sqstack *s) //判断栈是否为空 {return (s->top == -1); }void push(Sqstack *s, int e) //进栈操作 {s->top++;s->data[s->top] = e; }int pop(Sqstack *s) // 出栈操作 {int e;if(s->top != -1){e = s->data[s->top];s->top--;}return e; } void change(int num, int r)//进制转换 {if(num == 0)printf("0\n");else{Sqstack *p;p = (Sqstack *)malloc(sizeof(Sqstack));p->top = -1;//栈top指针初始是-1while(num != 0){int rem1;rem1 = num % r;//先取余push(p, rem1);num = num / r;//再相除}while(!sempty(p)){int rem2;rem2 = pop(p);printf("%d", rem2);}printf("\n");} } int main() {int num, r;scanf("%d %d", &num, &r);change(num, r);return 0; }

总结

以上是生活随笔为你收集整理的数据结构实验之栈与队列一:进制转换的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。