算法学习007-进制转换 c++递归算法实现 中小学算法思维学习 信奥算法解析

目录

C++进制转换

一、题目要求

1、编程实现

2、输入输出

二、算法分析

三、程序编写

四、程序说明

五、运行结果

六、考点分析

七、推荐资料


C++进制转换

一、题目要求

1、编程实现

小明学c++有一段时间了,今天他想做一个进制转换的小程序,将十进制数转换成其它进制(二进制、八进制、十六进制等)

2、输入输出

**输入描述:**只有一行,一个整数,即十进制

**输出描述:**只有一行,转换后对应的进制数

输入样例:

156

输出样例:

10010100

二、算法分析

  1. 小朋友们碰到这类题的时候,首先要知道进制转换的原理
  2. 这里以十进制转二进制进行分析说明
  3. 将十进制数除以2的余数作为最低位
  4. 然后再用商除以2的余数作为次低位
  5. ......
  6. 这样不断重复,直到商为0,得到最高位
  7. 具体见下图:

PS:其它进制和二进制一样,只是将除法竖式中的2改成相应的进制数即可

三、程序编写

四、程序说明

  1. convert()函数是递归实现的,它的作用是将十进制数n转换为进制数b,并将结果存储在字符数组s中
  2. 在递归调用中,函数先将n除以b得到一个商和余数,然后调用自身将商转换为进制数,并将余数转换为对应的字符添加到s数组的末尾
  3. 递归的结束条件是n等于0,此时s数组中存储的即为转换后的进制数
  4. main()函数是程序的入口,它首先定义了一个字符数组s用于存储转换后的进制数
  5. 然后通过cin输入要转换的十进制数n和转换的进制数base
  6. 接下来调用convert()函数将n转换为base进制数,并将结果存储在s数组中
  7. 最后通过cout输出结果
  8. 需要注意的是,这段代码中使用了C++的字符串类string和字符串处理函数strlen()
  9. 另外,代码中的头文件<bits/stdc++.h>是一个包含了常用的C++标准库头文件的集合,包括iostream、string等
  10. 最后返回0,程序结束

本文作者:小兔子编程 作者首页:https://blog.csdn.net/frank2102****

五、运行结果

cpp 复制代码
156

10010100

六、考点分析

难度级别:一般,这题相对而言还是比较简单的,具体主要考查如下:

  1. 分析题目,找到解题思路
  2. 了解十进制转成各种进制的方式
  3. 学会输入流对象cin的使用,从键盘读入相应的数据
  4. 学会for循环的使用,在确定循环次数的时候推荐使用学会
  5. 学会while循环的使用,在不确定循环次数的时候推荐使用
  6. 学会if条件判断语句的使用,满足一定条件才能执行后面的语句
  7. 学会if...else...双分支语句的使用,条件满足执行一种处理,不满足执行另一种处理
  8. 学会递归函数的原理及使用方式
  9. 掌握输出流对象cout的使用,与流插入运算符 << 结合使用将对象输出到终端显示
  10. 学会分析题目,算法分析,将复杂问题模块化,简单化,从中找到相应的解题思路
  11. 充分掌握变量定义和使用、分支语句、循环语句和简单算法知识的使用及输入输出的用法

PS:方式方法有多种,小朋友们只要能够达到题目要求即可!

七、推荐资料

相关推荐
_fairyland24 分钟前
数据结构 力扣 练习
数据结构·考研·算法·leetcode
Neil今天也要学习43 分钟前
永磁同步电机无速度算法--基于三阶LESO的反电动势观测器
算法·1024程序员节
机器学习之心1 小时前
NGO-VMD北方苍鹰算法优化变分模态分解+皮尔逊系数+小波阈值降噪+信号重构,MATLAB代码
算法·matlab·重构·信号重构·ngo-vmd·皮尔逊系数·小波阈值降噪
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——山脉数组的蜂顶索引
算法·leetcode·职场和发展·c/c++
速易达网络1 小时前
C语言常见推理题
java·c语言·算法
freedom_1024_1 小时前
LRU缓存淘汰算法详解与C++实现
c++·算法·缓存
博语小屋2 小时前
力扣11.盛水最多的容器(medium)
算法·leetcode·职场和发展
Swift社区2 小时前
LeetCode 423 - 从英文中重建数字
算法·leetcode·职场和发展
点云SLAM2 小时前
算法与数据结构之二叉树(Binary Tree)
数据结构·算法·二叉树·深度优先·广度优先·宽度优先
小龙报2 小时前
《算法通关指南:算法基础篇 --- 一维前缀和 — 1. 【模板】一维前缀和,2.最大子段和》
c语言·数据结构·c++·算法·职场和发展·创业创新·visual studio