(C语言)10进制转换2,8,16进制
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(C语言)10进制转换2,8,16进制
作者:vinseven
#include"stdio.h"
#include"conio.h"
#include"malloc.h"
#include"windows.h"
#define ElemType int
void menu();
void TenToTwo();
void TenToEight();
void TenToSixteen();
void InitStack(struct sNode **HS);
void Push(struct sNode **HS,ElemType x);
ElemType Pop(struct sNode **HS);
ElemType Peek(struct sNode **HS);
int EmptyStack(struct sNode **HS);
void ClearStack(struct sNode **HS);
int ten;/*要输入的10进制数*/
int x;/*把将要插入到栈中的元素暂时存进 x 中*/
struct sNode hs;
struct sNode
{
ElemType data;
struct sNode *next;
};
void main()
{
menu();
getch();
}
void menu()
{
char choice;
int flag=1;
while(1)
{
printf("\n\t\t\t________________________\n\n\n");
printf("\t\t\t 1,10进制转换2进制\n\n\n");
printf("\t\t\t 2,10进制转换8进制\n\n\n");
printf("\t\t\t 3,10进制转换16进制\n\n\n");
printf("\t\t\t 0,退出\n\n\n");
printf("\t\t\t________________________\n\n");
printf("\t\t\t请输入编号:");
while(flag)
{
fflush(stdin);
choice=getch();
switch(choice)
{
case '1':
{system("cls");
TenToTwo();
flag=0;
break;
}
case '2':
{
system("cls");
TenToEight();
flag=0;
break;
}
case '3':
{
system("cls");
TenToSixteen();
flag=0;
break;
}
case '0':
{
printf("\n\t\t\t按任意键退出");
getch();
exit(0);
}
default:
{
printf("\n\t\t\t无此选项可选!请重新输入!\n");
flag=1;
break;
}
}
}
system("cls");
flag=1;
}
}
/*10进制转换2进制界面*/
void TenToTwo()
{
printf("\n\t\t\t________________________\n\n\n");
printf("\t\t\t 10进制转换2进制界面\n\n\n");
printf("\t\t\t________________________\n\n");
printf("\t\t\t请输入10进制数:");
scanf("%d",&ten);
while(ten!=0)
{
x=ten%2;
Push(&hs,x);
ten=ten/2;
}
printf("\t\t\t二进制数为:");
while(!EmptyStack(&hs))
printf("%d",Pop(&hs));
getch();
}
/*10进制转换8进制界面*/
void TenToEight()
{
printf("\n\t\t\t________________________\n\n\n");
printf("\t\t\t 10进制转换8进制界面\n\n\n");
printf("\t\t\t________________________\n\n");
printf("\t\t\t请输入10进制数:");
scanf("%d",&ten);
while(ten!=0)
{
x=ten%8;
Push(&hs,x);
ten=ten/8;
}
printf("\t\t\t八进制数为:");
while(!EmptyStack(&hs))
printf("%d",Pop(&hs));
getch();