c语言 16进制 10进制转换,(C语言)10进制转换2,8,16进制.doc

(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_________________

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值