第三章习题5第3小题

时间:2022-10-25 00:15:51

第三章习题5第3小题

5.(3)  设计算法,把十进制整数转换为二至九进制之间的任一进制输出。

一、算法及操作
①首先定义了一个最大容量StackSize=100的顺序栈s,然后定义了 指针 top指向栈顶元素,并初始化为-1;
②定义转换进制函数Decimaltor;循环体内,要转换的数字num%r(进制),每次取余所得的k值放入顺序栈内,再将num=num/r,直到num=0,退出循环。然后依次输出顺序栈的数据。
③在主函数中,输入要转换的数字n及进制m(当m不在2-9之间时抛出错误),然后通过函数传参传给Decimaltor函数。
二、完整代码
#include
using namespace std;
const StackSize=100;
void Decimaltor(int num,int r)
{
	int top,k,s[StackSize];
	top=-1;
	if(r<2||r>9) throw"错误";
	cout<<"转为"<>n;
		cout<<"请选择要使用的进制(2-9):";
		cin>>m;
		Decimaltor(n,m);
		cout<<"\n\n*****是否要继续转换?1-continue;0-end:";
		cin>>a;
		cout<
三、测试结果
第三章习题5第3小题第三章习题5第3小题
第三章习题5第3小题第三章习题5第3小题