进制转换器(十进制转n进制)
#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进制)的更多相关文章
- java进制转换器 图形用户界面 十进制及其相反数分别转化为二,四,八,十六进制
package com.rgy.Test; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; ...
- C语言dos程序源代码分享(进制转换器)
今天给大家分享一个dos程序的源代码 这个程序是本人在学习中的经验分享 如果有问题或者建议,欢迎大家一起交流 源代码: /*本程序为一个进制转换器 本程序不作为商业用途,完全为技术交流 喜欢C语言的同 ...
- - >code vs 1475 m进制转十进制
1475 m进制转十进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将m进制数n转化成一个 ...
- ->code vs 1474 十进制转m进制
1474 十进制转m进制 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver 题解 查看运行结果 题目描述 Description 将十进制数n转换成m进 ...
- C语言:其他进制转换为十进制(方法二)
#include<stdio.h> #include<math.h> #include<string.h> #include<ctype.h> //其他 ...
- wikioi 1475 m进制转十进制
/*===================================== 1475 m进制转十进制 题目描述 Description 将m进制数n转化成一个十进制数 m<=16 题目保证转 ...
- wikioi 1474 十进制转m进制
/*===================================== 1474 十进制转m进制 题目描述 Description 将十进制数n转换成m进制数 m<=16 n<=1 ...
- c-八进制 转 十进制
概述 其实x进制转十进制的算法都差不多,不过如果是针对于字符形式,他们却有点不同.使用指针和数组的形式计算,又不同.这里演示将字符型的数组形式的八进制转成十进制: #include <stdio ...
- 数据结构之【栈】+十进制转d进制(堆栈数组模拟)
其实这篇文章开出来主要是水文章%% %% 栈--后进先出的婊 特点:只能在某一端插入和删除的特殊的线性表 操作:进栈--PUSH->向栈顶插入元素 出栈--POP-->将栈顶元素删除 实现 ...
- python经常使用的十进制、16进制、字符串、字节串之间的转换(长期更新帖)
进行协议解析时.总是会遇到各种各样的数据转换的问题,从二进制到十进制,从字节串到整数等等 废话不多上.直接上样例 整数之间的进制转换: 10进制转16进制: hex(16) ==> 0x10 ...
随机推荐
- java获取客户访问IP
原文:http://blog.csdn.net/mydwr/article/details/9357187 /** * 获取访问者IP * * 在一般情况下使用Request.getRemoteAdd ...
- Java Date与SimpleDateFormat
最近在弄一些涉及到时间处理的项目.本来自己写了一个时间转换函数,虽然能用但是过于麻烦而且不够规范,于是学习了下java自带的时间处理的类. public class Timechg { public ...
- 转:c的回归-云风
C 的回归 周末出差,去另一个城市给公司的一个项目解决点问题.回程去机场的路上,我用手机上 google reader 打发时间.第一眼就看到孟岩大大新的一篇:Linux之父话糙理不糙 .主题是 C ...
- Android控件之EditText(输入文本框控件)
一.EditText控件概述 EditText是一个非常重要的组件,可以说他是用户和Android应用进行数据传输窗口 有了他就等于有了一扇和Android应用传输的门,通过他用户可以把数据传输给A ...
- mysql报关于用户密码1045(28000),几种处理方法 (zhuan)
http://blog.itpub.net/29371470/viewspace-1409075/ http://blog.csdn.net/rosten/article/details/250658 ...
- Sqlerver_各类函数
SQL Aggregate 函数 SQL Aggregate 函数计算从列中取得的值,返回一个单一的值. 有用的 Aggregate 函数: AVG() - 返回平均值-SELECT AVG(colu ...
- form表单生成的简单理解
1, drupal_get_form,只要是准备$form_state['build_info']['arg'], 然后进入drupal_build_form(), 2, form build 主要有 ...
- 绑定事件 addEventListener
addEventListener() 方法用于向指定元素添加事件句柄. addEventListener() 方法添加的事件句柄不会覆盖已存在的事件句柄. 你可以向一个元素添加多个事件句柄. 你可以向 ...
- 双日历插件--jq datepicker时间范围选择
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 纯css3代码写下拉菜单效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...