📄 2.进位制转换c.cpp
字号:
#include<stdio.h>
#include<stdlib.h>
typedef struct stacknode // 栈的存储结构
{
int data;
struct stacknode *next;
}stacknode;
typedef struct
{
stacknode *top; // 指向栈的指针
}linkstack;
void Conversion(int n,int m) // 二进制转换
{
linkstack s;
int x;
s.top=NULL;
printf("\n\t\t 10 进制数%d ",n);
do
{
x=n%m;
n=n/m;
stacknode *p;
p=new (stacknode); // 或p=(stacknode *) malloc (sizeof(stacknode));
p->next=s.top;
s.top=p;
s.top->data=x;
}
while(n);
printf(" 转换后的 %d 进制数值为:",m);
while(s.top)
{ if (s.top->data<10) printf("%d",s.top->data);
else switch (s.top->data)
{ case 10: printf("%c",'A');break;
case 11: printf("%c",'B');break;
case 12: printf("%c",'C');break;
case 13: printf("%c",'D');break;
case 14: printf("%c",'E');break;
case 15: printf("%c",'F');break;
}
stacknode* p=s.top;
s.top=s.top->next;
free(p);
}
printf("\n");
}
void main()
{ int n,m;
printf("请输入一个正整数:");
scanf("%d",&n);
printf(" 请输入转换成多少进制数(2--16 ):");
scanf("%d",&m);
Conversion(n, m);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -