- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北理工计算机2000-2010考研机试题目c语言实现
北理工计算机2000-2010考研机试题目c语言实现
1.进制转换
#include stdio.h
#include math.h
//#include string.h
#include memory.h
#includemalloc.h
#define MAXSIZE 64
typedef struct stack
{
int top;
int array[MAXSIZE];
}Stack;
int InitStack(Stack *s)
{
s-top=-1;
return 1;
}
int Isempy(Stack *s)
{
if(s-top==-1)
return 1;
else
return 0;
}
void push(Stack *s,int elem)
{
s-top++;
s-array[s-top]=elem;
}
int pop(Stack *s)
{
return s-array[s-top--];
}
void _decToother(int n,int m)/*十进制转为其他进制,m表示进制*/
{
int result;
char ss;
Stack *s;
result=n;
s=(Stack *)malloc(sizeof(Stack));
memset(s,0,sizeof(Stack));
if(!s)
{
printf(申请空间失败\n);
}
InitStack(s);
while(n!=0)
{
ss=n%m;
if(ss9)
ss=ss-10+A;
else if(ss=0 ss=9)
ss+=0;
push(s,ss);
n/=m;
}
if(m==16)
printf(%d的十六进制:0x,result);
else if(m==8)
printf(%d的八进制:0,result);
while(!Isempy(s))
{
printf(%c,pop(s));
}
printf(\n);
}
void _otherTodec(char array[MAXSIZE],unsigned int scal,int len)//其他进制转十进制,scal表示进制,len表示数的位数
{
int i,sum=0;
for(i=0;ilen;i++)
{
if(array[i]=0 array[i]=9)
array[i]=array[i]-0;
else if(array[i]=A array[i]=f)
array[i]=array[i]-A+10;
sum+=array[i]*pow(scal,len-i-1);
}
printf(它的十进制数为:%d\n,sum);
}
void _binToOctOrHex(char array[MAXSIZE],int calc,int len)/*二进制转八或者十六进制,scal表示进制,len表示数的位数*/
{
int i=0,j=0,part,the;
char result[MAXSIZE]={0};
Stack *s;
if(calc==8)
part=3;
else if(calc==16)
part=4;
s=(Stack *)malloc(sizeof(Stack));
memset(s,0,sizeof(Stack));
if(!s)
{
printf(申请空间失败\n);
}
InitStack(s);
for(i=0;ilen;i++)
push(s,array[i]);
i=0;
while(!Isempy(s))
{
if(jpart)
{
the=pop(s);
result[i]+=the*pow(2,j);
j++;
}
else if(j=part)
{
j=0;
i++;
}
}
if(calc==16)
printf(它的十六进制:0x);
else if(calc==8)
printf(它的八进制:0);
for(j=i;j=0;j--)
{
if(result[j]9)
result[j]=result[j]-10+A;
else if(result[j]=0 result[j]=9)
result[j]+=0;
printf(%c,result[j]);
}
}
int main()
{
int n=0,m=0,Bechang=0,i=0;
char Binary[MAXSIZE]
您可能关注的文档
最近下载
- 中医妇科临床诊疗指南——妊娠恶阻.pdf
- 猪咬伤诊疗规范考试试卷试题及参考答案.docx VIP
- 海蜇蜇伤诊疗规范考试试卷试题及参考答案.docx VIP
- 2023年云南文山州砚山县江那镇人民政府村(社区)后备干部及社会服务岗位人员招聘笔试参考题库附带答案详解.pdf VIP
- 第二阶段课件11检索概论ii.pptx VIP
- 狂犬病诊疗规范2021年版考试试卷试题及参考答案.docx VIP
- 2024年ADA糖尿病诊疗标准更新解读课件.pptx VIP
- 通达信公式编写初中高级全套教程(附:通达信全部函数表).pdf VIP
- 译林牛津版苏教八年级上册英语词汇表(表格版)直接打印.pdf VIP
- 2023年云南文山州砚山县江那镇村(社区)后备干部及社会服务岗位人员招聘笔试参考题库附带答案详解.pdf VIP
文档评论(0)