递归函数将一个正整数的各位由高到低依次输出

  • 编写思想
    • 测试程序

编写思想

朋友向我请教了个题。如题目,花了一点时间把他编写成功了。下面我来说说我是怎么实现的。
思想:从高到低依次输出,也就是说若输入的数字是361,那么输出的数字为631。平常排列数的时候一般用冒泡法啊什么的,但是都必须知道数的大小;而这里只有一个整数,那么我们可以把他先拆分为单一的数字,直到拆分到最后2个数字时候,就开始排序如输入数字为:3654。先从个位一个一个拆分,按顺序拆分出来的结果就是4、5、6、3。最后一次拆出来的数字分别是6和3,先排序。排序出来结果时候63。接着返回上一层,怎么样把5加入到63呢。分3种情况;第一种就是比6大,应该放在最前面;第二种就是比3小,放在最后面;最后一种情况就是放在中间。那么问题来了。怎么知道这个数字是放在那里的;我们在把63拆分,从最小的拆分起。依次比较。最后根据情况来把5放进去。
接下来是代码展示。代码已经经过测试。

测试程序

代码写的不是很规范…

int rank_num(int num)
{int a=num/10;int b=num%10;int c;int d=1;if(a>10){c=a=rank_num(a);for(;;){if(b>(a%10)&&a!=0){a=a/10;}else{if(a==0){return (b*d)+c;}else if(a==c){return (c*d*10)+b;}else{return (a*d*10)+(b*d)+(c%d);}}d=d*10;}}else{return a>b?(num):(b*10)+a;}
}

递归函数将一个正整数的各位由高到低依次输出相关推荐

  1. 《JAVA练习题目2》 输入十个学生的考试成绩,将及格学生的成绩从高到低排序输出。

    题目内容: 输入十个学生的考试成绩,将及格学生的成绩从高到低排序输出. 输入格式: 10个学生的成绩,以空格分割. 输出格式: 及格成绩从高到低,成绩之间用空格分隔,最后一个分数后面也有一个空格.如果 ...

  2. 对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。

    [问题描述] 对某班学生成绩排序.从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序. [输入形式 ...

  3. python平均分由高到低顺序排列输出选手编号和最后得分_python 字典的使用案例二:求平均分,并按平均分由高到低输出选手编号和最后得分...

    校园好声音大赛,三位选手得分,由8位评委给出. 请根据评分表,将每们选手的得分去掉一个最高分和一个最低分后求平均分,并按照平均分由高到低输出选手编号和最后得分. dicScores = {'012': ...

  4. python平均分由高到低顺序排列输出选手编号和最后得分_Python基础案例练习

    python的一些基础经典案例 一.编写函数,接收字符串参数,返回一个元组,其中第一个元素为大写字母个数,第二个元素为小写字母个数. def demo(s): result = [0, 0] #不能直 ...

  5. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    代码: package com.liron.p1;import java.util.Scanner;/**将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.*/ public cla ...

  6. Java将一个正整数进行因数分解

    Java将一个正整数进行因式分解 package p3;import java.util.Scanner;public class breaknumber {public static void ma ...

  7. python将一个正整数分解质因数

    将一个正整数分解质因数 1. 解法一 2. 解法二 3. 解法三 4. 解法四 例如输入90,输出:90=2*3*3*5 对n进行分解质因数,应先找到一个最小的质数i,然后按下述步骤完成: (1)如果 ...

  8. python对整数进行因数分解_浅谈将一个正整数分解质因数的逻辑思维和Python开发设计...

    今天讨论的是如何将一个正整数分解质因数.例如:输入36,打印出36=2*2*3*3. 1.首先要清晰两个概念,要知道什么是质数,如何进行分解质因数?质数是指在大于1的自然数中,除了1和它本身以外不再有 ...

  9. python 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    # 将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5.n = int(input('请输入需要分解的正数:')) # 创建一个列表用来存放遍历出来的因数 lt = [] # 给n换个 ...

最新文章

  1. 批处理常用命令及用法大全
  2. 解决 Ubuntu Software (Software Center) Crash 问题
  3. idea部署springboot项目到外部tomcat
  4. PHP二维码在线制作生成系统源码 无需数据库 带logo图标
  5. phpexcel删除行_使用PHPExcel删除行
  6. 平安dms开发java_Spring DMS模板同步接收非持久用户消息丢失
  7. python微信自动回复
  8. python课设带报告_20193103陈柏维《Python程序设计》实验四报告
  9. 一分钟搭建Spring Boot
  10. Ubuntu命令大全(转载)
  11. file处理的一些内容
  12. IDEA设置字体大小的问题
  13. 计算机统计字符数,怎么看word版本-Word文档中的字数和字符数是怎样统计的?
  14. 堪萨斯州立大学 计算机科学,堪萨斯州立大学
  15. Excel应用技巧:不规则合并单元格之批量填充序列
  16. 均方根误差(RMSE),平均绝对误差(MAE),标准差(Standard Deviation);平均值、标准差、相关系数、回归线及最小二乘法
  17. chromedriver的下载与使用-Windows64位系统(4)【图文并茂的小白级教程】
  18. Tesla™ GPU高性能计算应用案例
  19. R语言包(package)以及相关命令语句
  20. JSON学习1-什么是JSON

热门文章

  1. 嘀嗒出行再闯IPO:千军万马我无懈
  2. 安卓手机屏幕投射电脑 手机投屏到win7
  3. BYTE WORD DWORD
  4. java高德点到ian距离,高德地图(点到线段的最短距离算法)不调用高德API
  5. 计算机设计教育,计算机设计艺术教育教学论文
  6. J版 OpenStack动态加载菜单图片详解
  7. 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂功能第10波-快速排列工作表图形对象...
  8. 前台请求后台接口数据后日期少一天Bug解决
  9. 树莓派科学小实验4B--07_继电器
  10. 手机怎样设置一个高考倒计时便签,可以天天看见那种