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);
}
相关推荐
憧憬成为web高手1 小时前
[HITCON 2017]SSRFme
学习
妖精的羽翼1 小时前
AI + 前端、可视化 & 大屏
学习
8Qi85 小时前
回文子串(Palindromic Substrings)—— 题解
算法·leetcode·职场和发展·动态规划
xskukuku6 小时前
使用VSCode配置C语言运行环境
c语言·ide·vscode
xuhaoyu_cpp_java8 小时前
项目学习(三)分页查询
java·经验分享·笔记·学习
想吃火锅10058 小时前
【leetcode】405.数字转换为十六进制数js
开发语言·javascript·ecmascript
专注VB编程开发20年8 小时前
AI 生成C# WinForm 窗体 = 目前就是垃圾
开发语言·人工智能·c#
cfm_29148 小时前
JVM GC垃圾回收初步了解
java·开发语言·jvm
~小先生~8 小时前
Python从入门到放弃(一)
开发语言·python
许彰午9 小时前
17_synchronized关键字深度解析
java·开发语言