输入一个十进制数N,将它转换成R进制数输出(运用递归实现)
来源:互联网 发布:平台优化方案 编辑:程序博客网 时间:2024/06/05 01:14
#include<stdio.h>
int cnt=0; //用来记录每一个进制存放的位置
char num[20]; //用来存放每一个进制的数
void fun(int a,int b)
{
if(a==0) //递归的终止条件
return;
fun(a/b,b); //顺序递归
num[cnt++] = a%b; //逆序递归
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
if(a<0)
{
a = -a;
fun(a,b);
printf("-");
for(int i=0;i<cnt;i++)
{
if(num[i]<10)
printf("%d",num[i]);
else
printf("%c",num[i]+'A'-10);
}
}
else
{
fun(a,b);
for(int i=0;i<cnt;i++)
{
if(num[i]<10)
printf("%d",num[i]);
else
printf("%c",num[i]+'A'-10);
}
}
printf("\n");
cnt = 0;
}
}
int cnt=0; //用来记录每一个进制存放的位置
char num[20]; //用来存放每一个进制的数
void fun(int a,int b)
{
if(a==0) //递归的终止条件
return;
fun(a/b,b); //顺序递归
num[cnt++] = a%b; //逆序递归
}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
{
if(a<0)
{
a = -a;
fun(a,b);
printf("-");
for(int i=0;i<cnt;i++)
{
if(num[i]<10)
printf("%d",num[i]);
else
printf("%c",num[i]+'A'-10);
}
}
else
{
fun(a,b);
for(int i=0;i<cnt;i++)
{
if(num[i]<10)
printf("%d",num[i]);
else
printf("%c",num[i]+'A'-10);
}
}
printf("\n");
cnt = 0;
}
}
3 0
- 输入一个十进制数N,将它转换成R进制数输出(运用递归实现)
- 将一个十进制数转换成二进制输出--递归实现
- 输入一个十进制数,将其转换为N进制数。(0<N<=16,先输入十进制数,再输入N)
- 输入一个十进制数,利用栈操作,将该数转换成n进制数。
- 输入一个十进制正整数,将该数转换成n进制数
- 输入一个十进制正整数,将该数转换成n进制数;
- 用递归实现十进制数转换N进制
- 使用do-while编程实现进制转换。输入一个十进制整数n,输出其二进制形式,并统计二进制数中1的个数。
- 输入一个8位二进制数,转换成十进制数输出
- 怎样用C语言实现一个十进制数向R进制变换并输出(数据结构)
- 编写递归函数将十进制转换成二进制数输出
- 十进制数转换成N进制数
- n进制数转换成十进制数
- (递归版)输入一个正整数n,输出其反序数
- 将一个十进制数n转换为k进制数
- java 输入一个二进制数,把它转换为十进制数并输出
- 十进制数转换成R进制数,R属于(1,36)
- 数制转换:如何将十进制数N转换为x进制数?(用栈实现)
- 常用第三方类包的地址
- Largest Redis Clusters Ever
- Struts2默认拦截器栈及内建拦截器使用详解
- SQLlite使用、创建、插入、修改、查询
- shell脚本调试
- 输入一个十进制数N,将它转换成R进制数输出(运用递归实现)
- 套接字的使用
- "世界很美好,值得你为之奋斗。" 我只同意后半句 --- 海明威
- ACM的算法分类
- JavaMail解析邮件内容(经典收藏)
- SVN笔记---使用过程中的报错
- 向两边展开的Floating Action Button
- VC数字图像处理编程讲座 系列
- VS2010显示行号