教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 实用文档 >

c语言进制转换代码

来源:网络收集 时间:2026-08-24
导读: c语言 10进制转换为其他进制的代码 #includestdio.h #includestdlib.h #define stack_size 100 #define stack_extra_size 10 typedefstruct { int *base; int *top; intstacksize; }stack,*pstack; voidinitstack(stack s) { s.base=(int *)malloc(stack_siz

c语言 10进制转换为其他进制的代码

#include<stdio.h>

#include<stdlib.h>

#define stack_size 100

#define stack_extra_size 10

typedefstruct

{

int *base;

int *top; intstacksize;

}stack,*pstack;

voidinitstack(stack &s)

{

s.base=(int *)malloc(stack_size*sizeof(int));

s.top=s.base;

} s.stacksize=stack_size;

void push(stack &s,int e)

{

if(s.top-s.base>=s.stacksize)

{ } s.base=(int *)realloc(s.base,(stack_size+stack_extra_size)*sizeof(int)); if(!s.base )exit(-1); s.top=s.base+s.stacksize; s.stacksize+=stack_extra_size;

*s.top=e;s.top++;

}

int pop(stack &s,int&e)

{

if(s.top==s.base ) return 0;

else { } e=*(--s.top);return 1;

}

intstackempty(stack s)

{

if(s.top==s.base )return 1; else return 0;

}

voiddatechange(inta,int N)

{

stack s; int e;

c语言 10进制转换为其他进制的代码

} while(a) { push(s,a%N); a/=N; } while(!stackempty(s)) { pop(s,e); printf("%d",e); }printf("\n");

voidsixteenchange(int n)

{

int e; stacks;initstack(s);

while(n)

{

push(s,n%16);

}

{

} n/=16; while(!stackempty(s)) { pop(s,e); switch(e) { case 10:printf("A");break; case 11:printf("B");break; case 12:printf("C");break; case 13:printf("D");break; case 14:printf("E");break; case 15:printf("F");break; default :printf("%d",e);break; } }printf("\n"); void main() intn,N;char k=' ';

printf("请输入您想要从10进制转换后的进制数:(一般有几种,大于等于10的只有16进制)");

scanf("%d",&N); printf("请输入一些10进制数,然后转换为%d进制\n",N); while(k!='#')

c语言 10进制转换为其他进制的代码

printf("请输入一个数:"); scanf("%d",&n); printf("转化为%d进制后为:",N); if(N==16) sixteenchange(n);

elsedatechange(n,N);

printf("还想继续吗? \n继续请按其他键,结束请按#键:");

} getchar(); scanf("%c",&k); }

c语言进制转换代码.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/134734.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)