1161转进制(C语言)

一:题目

二:思路分析

1.首先该题目让我们使用递归求十进制转其他进制

2.其次,我们要知道十进制转换为其他进制怎么转换,以例题所给的数据为例

由此图可以看出,十进制转换为其他进制,是辗转相除法,即这个数一直除以要转换的进制数,一直到商为零,然后逆序输出所有余数

3.用递归图表示为

4.分析到这里大致的代码已经有雏形了,还有一个问题是,在余数在1~9时,直接输出就可以,但是余数是10~15时,不可以直接输出,要转换为A~F,怎么转换呢?

三:代码

复制代码
#include <stdio.h>
//1161转进制
void  Func(int x, int m)
{
	if (x == 0)
		return;
	else
	{
		Func(x / m,m);
		if (x % m < 10)
			printf("%d", x % m);
		else
			printf("%c", (char)(x % m + 55));
	}

}
int main()
{
	int x = 0, m = 0;
	scanf("%d %d", &x, &m);
	Func(x, m);
}
相关推荐
qq_38960013几秒前
pads-logic 学习笔记
笔记·嵌入式硬件·学习·硬件工程·pcb工艺
艾莉丝努力练剑几秒前
【Linux信号】Linux进程信号(中):信号保存、信号处理(含“OS是如何运行的?”)
大数据·linux·运维·服务器·数据库·c++·mysql
西西弟3 分钟前
拓扑排序及关键路径(数据结构)
数据结构·c++
qwehjk20084 分钟前
实时语音处理库
开发语言·c++·算法
2301_804215416 分钟前
自定义异常类设计
开发语言·c++·算法
c++逐梦人8 分钟前
C++11 ——— 右值引用和移动语义
c++·右值
暮冬-  Gentle°8 分钟前
C++代码依赖分析
开发语言·c++·算法
糯诺诺米团11 分钟前
C++多线程打包成so给JAVA后端(Ubuntu)<3>
java·开发语言·c++
2301_7638919511 分钟前
泛型编程与STL设计思想
开发语言·c++·算法