#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100 /*链栈类型定义*/
typedef struct node
{
int data1[MAXSIZE];
int top;
}StackNode; /*队列类型定义*/
typedef struct point
{
int data2[MAXSIZE];
int frot, rear;
}LQueue; /*整数部分转换*/
void Push_LinkStack(StackNode *s,int z,int k)
{
int n;
while(z!=)
{
n=z%k;
z=z/k;
if(s->top==MAXSIZE-)
{
printf("栈满!");
return;
}
else
{
s->top++;
s->data1[s->top]=n;
}
} } /*小数部分转换*/
void In_LQueue(LQueue *q,float f,int k,int m)
{
int i,j;
f=f*k;
for(i=;i<m;i++)
{
j=(int)f;
if(q->rear==MAXSIZE-)
{
printf("队满!");
return;
}
else
{
q->rear++;
q->data2[q->rear]=j;
}
f=f-j;
f=f*k;
}
} void Output(StackNode *s,LQueue *q,int m)
{
int y,i;
int x,z;
if(s->top==-)
{
printf("栈空");
}
else
{
while(s->top!=-)
{
x=s->data1[s->top];
s->top--;
if(x<=)
{
printf("%d",x);
}
else
{
z=x-;
printf("%c",'A'+z);
}
}
}
printf(".");
while(q->frot!=q->rear)
{
q->frot++;
y=q->data2[q->frot];
if(y<=)
{
printf("%d",y);
}
else
{
i=y-;
printf("%c",'A'+i);
}
}
printf("\n");
} void menu()
{
printf("*********************\n");
printf("* 进制转化器 *\n");
printf("*1----------开始转换*\n");
printf("*0--------------退出*\n");
printf("*********************\n");
} int main()
{
StackNode *s;
s=(StackNode *)malloc(sizeof(StackNode));
s->top=-;
LQueue *q;
q=(LQueue *)malloc(sizeof(LQueue));
q->frot=-;
q->rear=-;
float n,f;
int k,sel,z,m;
do
{
menu();
printf("\n请输入你的选择:");
scanf("%d",&sel);
switch(sel)
{
case :printf("\n请输入一个十进制的非负小数:");
scanf("%f",&n);
printf("\n要将其转换成几进制数;\n");
printf("(2、8、16)\n");
printf("你的选择:");
scanf("%d",&k);
printf("\n结果需保留几位小数:");
scanf("%d",&m);
z=(int)n;
f=n-z;
Push_LinkStack(s,z,k);
In_LQueue(q,f,k,m);
Output(s,q,m);
}
}while(sel!=);
return ;
}

进制转换器(十进制转n进制)的更多相关文章

  1. java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制

    package com.rgy.Test; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; ...

  2. C语言dos程序源代码分享(进制转换器)

    今天给大家分享一个dos程序的源代码 这个程序是本人在学习中的经验分享 如果有问题或者建议,欢迎大家一起交流 源代码: /*本程序为一个进制转换器 本程序不作为商业用途,完全为技术交流 喜欢C语言的同 ...

  3. - >code vs 1475 m进制转十进制

    1475 m进制转十进制  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结果   题目描述 Description 将m进制数n转化成一个 ...

  4. ->code vs 1474 十进制转m进制

    1474 十进制转m进制  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题解  查看运行结果   题目描述 Description 将十进制数n转换成m进 ...

  5. C语言:其他进制转换为十进制(方法二)

    #include<stdio.h> #include<math.h> #include<string.h> #include<ctype.h> //其他 ...

  6. wikioi 1475 m进制转十进制

    /*===================================== 1475 m进制转十进制 题目描述 Description 将m进制数n转化成一个十进制数 m<=16 题目保证转 ...

  7. wikioi 1474 十进制转m进制

    /*===================================== 1474 十进制转m进制 题目描述 Description 将十进制数n转换成m进制数 m<=16 n<=1 ...

  8. c-八进制 转 十进制

    概述 其实x进制转十进制的算法都差不多,不过如果是针对于字符形式,他们却有点不同.使用指针和数组的形式计算,又不同.这里演示将字符型的数组形式的八进制转成十进制: #include <stdio ...

  9. 数据结构之【栈】+十进制转d进制(堆栈数组模拟)

    其实这篇文章开出来主要是水文章%% %% 栈--后进先出的婊 特点:只能在某一端插入和删除的特殊的线性表 操作:进栈--PUSH->向栈顶插入元素 出栈--POP-->将栈顶元素删除 实现 ...

  10. python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)

    进行协议解析时.总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上.直接上样例 整数之间的进制转换: 10进制转16进制: hex(16)  ==>  0x10 ...

随机推荐

  1. 图片(img标签)的onerror事件

    打开网页时提示 Stack overflow at line: 0.我做了截图如下: 经过分析,发现网页中存在类似如下的代码: <img src="pic.gif" oner ...

  2. shell脚本基础知识

    虽然现在能在Linux系统下生存,但是自觉效率太低,和高手有很大的差距. 这就是关于Linux的知识太过匮乏,有很多事情知道该怎么做,但是就是没法在Linux下实现,为了提升工作效率,必须要接触Lin ...

  3. iOS 使用Keychain 保存 用户名和密码到 本地

    iOS 使用Keychain 保存 用户名和密码到 本地 之前曾把一些简单的数据保存在了plist,文件,及NsuserDefault里面, 但是如果要保存密码之类的,保存在本地就很不安全了: 但是利 ...

  4. CSS学习笔记(float和盒子模型)

    1.当元素或者是它的包裹层设置了绝对定位或者是浮动,那么margin:0 auto;自动居中的效果就不会实现. 2.盒子模型的三位立体结构图中从第一层到第五层依次为:border.content+pa ...

  5. js,jquery判断某一节点是否存在

    前两天工作时遇到一问题,就是模块A显示时,B是一种样式,模块A删除,B是另一种样式.记录下判断节点存在的方法. 先写下html <!doctype html> <html> & ...

  6. Python顺序集合之 List

    Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ['Jen ...

  7. Spring Data Jpa配置

    Spring Data JPA提供的接口,也是Spring Data JPA的核心概念: 1:Repository:最顶层的接口,是一个空的接口,目的是为了统一所有Repository的类型,且能让组 ...

  8. debug && release

    http://www.cnblogs.com/awpatp/archive/2009/11/05/1597038.html Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调 ...

  9. prepareStatement和Statement的区别

    1:创建时的区别:    Statement stm=con.createStatement();    PreparedStatement pstm=con.prepareStatement(sql ...

  10. java操作字符串,重点是记录一次使用replaceAll对字符串的操作

    符串常用操作(String类) 字符串查找 String提供了两种查找字符串的方法,即indexOf与lastIndexOf方法. 1.indexOf(String s) 该方法用于返回参数字符串s在 ...