用栈实现把一个十进制数转化为十六进制数(c语言)
用栈实现把一个十进制数转化为十六进制数(c语言)#include<stdio.h>voiddec_to_bin(charA,B,C,D,E,F,N,chare);type...
用栈实现把一个十进制数转化为十六进制数(c语言)#include<stdio.h>
void dec_to_bin(char A,B,C,D,E,F,N,char e);
typedef struct
Init stack (s);
scanf("请输入一个十进制数:")
while(e)
{
Push(s,e);
}
N=N/B;
while(!stake Empty(s))
e=Pop(s,e);
printf("%d",e);
if(e=10);printf("A");
if(e=11);printf("B");
if(e=12);printf("C");
if(e=13);printf("D");
if(e=14);printf("E");
if(e=15);printf("F"); 展开
void dec_to_bin(char A,B,C,D,E,F,N,char e);
typedef struct
Init stack (s);
scanf("请输入一个十进制数:")
while(e)
{
Push(s,e);
}
N=N/B;
while(!stake Empty(s))
e=Pop(s,e);
printf("%d",e);
if(e=10);printf("A");
if(e=11);printf("B");
if(e=12);printf("C");
if(e=13);printf("D");
if(e=14);printf("E");
if(e=15);printf("F"); 展开
1个回答
展开全部
var
x:longint;
z:array[1..100] of byte;
top:byte;
y,modd:byte;
procedure push;
begin
inc(top); z[top]:=modd;
end;
procedure pop;
begin
if top>0 then begin y:=z[top]; dec(top); end
else writeln('stack overflow !');
end;
begin
x:=1234567890;
top:=0;
repeat
modd:=x mod 16;
x:=x div 16;
push;
until x=0;
while top>0 do begin
pop;
if (y>=10) then write(chr(y-10+ord('A')):1)
else write(chr(y+ord('0')):1);
end;
end.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询