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);
}
相关推荐
地平线开发者几秒前
征程 6X Camera 接入数据评估
算法·自动驾驶
Storynone3 分钟前
【Day23】LeetCode:455. 分发饼干,376. 摆动序列,53. 最大子序和
python·算法·leetcode
骇客野人10 分钟前
自己手搓磁盘清理工具(JAVA版)
java·开发语言
清风徐来QCQ16 分钟前
Java笔试总结一
java·开发语言
lly20240619 分钟前
《jEasyUI 转换 HTML 表格为数据网格》
开发语言
小付同学呀21 分钟前
C语言学习(八)——C判断(switch语句)
c语言·学习·算法
萧曵 丶23 分钟前
LangChain Model IO 提示词模版(Python版)
开发语言·python·langchain
Elastic 中国社区官方博客24 分钟前
Elastic 为什么捐赠其 OpenTelemetry PHP 发行版
大数据·开发语言·elasticsearch·搜索引擎·信息可视化·全文检索·php
zhooyu24 分钟前
二维坐标转三维坐标的实现原理
c++·3d·opengl