利用堆栈,设计算法将一个十进制正整数转换为十六进制数输出。(先设计存储结构,在设计算法,算法要加

2024-11-12 23:43:58
推荐回答(2个)
回答1:

#include 
#define MAXSIZE 256
int Stack[MAXSIZE];
int top = -1;
bool isempty(){
    return top == -1;
}
void push(int d){
    Stack[++top] = d;
}
int pop(){
    return Stack[top--];
}
char dec2hex(int x){
    return (x>9?'a':'0') + (x%10);
}
int main(){
    int x;
    scanf("%d", &x);
    //除16取余
    while(x){
        push(x%16);
        x /= 16;
    }
    while(!isempty())
        putchar(dec2hex(pop()));
}

回答2:

等一下,我写一下