m0_59283977
2021-06-14 09:13
采纳率: 0%
浏览 4

想问问各位大佬一些语句的意思,程序小白

进制的转换

#include<iostream.h>

#define stacksize 100//存储空间初始分配量为100

 

struct stack                                 //顺序栈

{

int data[stacksize];//创建一个int型数组data,大小为stacksize

int top;//定义整数栈顶

};

 

stack st;//定义一个名为"st"的栈

 

void initstack(stack *s)                                  //初始化栈

{

s->top=-1;

}

 

int stackempty(stack *s)

{

return (s->top==-1);

}

 

int stackfull(stack *s)                 //判栈满

{

return  (s->top==stacksize-1);

}

 

 

void push(stack *s,int x)                    //入栈

{

if (stackfull(s))

cout<<"栈满,入栈失败!"<<endl;

++s->top;

s->data[s->top]=x;

}

 

int pop(stack *s)                            //退栈

{

int x;

if(stackempty(s))

cout<<"栈空,退栈失败!"<<endl;

x=s->data[s->top];

    s->top--;

    return(x);     

}

 

void conversion(int i) 

{

stack *s;

s=&st;

int n,e;

initstack(s);

    cout<<"请输入原数据:"<<ends;

cin>>n;

cout<<n<<"转化为"<<i<<"进制为:";

while(n)

{

push(s,n%i);

        n=n/i;

}

while(!stackempty(s))

{

   e=pop(s);

   switch(e)

   {

   case 10 : cout<<'A'; break;

   case 11 : cout<<'B'; break;

   case 12 : cout<<'C'; break;

   case 13 : cout<<'D'; break;

   case 14 : cout<<'E'; break;

   case 15 : cout<<'F'; break;

   default : cout<<e;

   }

}

 

 

main()

{

cout<<"本程序可以将十进制度转化为N进制!"<<endl;

cout<<"请输入想转化为的进制:"<<ends;

int i;

cin>>i;

conversion(i);

    cin>>i;

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

相关推荐 更多相似问题