数组--排序--组成最大数
来源:互联网 发布:傣族语言翻译软件 编辑:程序博客网 时间:2024/06/04 18:02
【题】
组成最大数
任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。
输入: 自然数 n
输出: 各位数字组成的最大数
- 1593↵
- 9531↵
很显然,这是个排序的题。先用冒泡排序实现,很简单代码就不写了。
【代码】
冒泡排序的代码在我的Blog:http://blog.csdn.net/debug__boy/article/details/8170580中,代码的58-70行。
【多说一点】
这里提供一稍稍带点技巧的实现方法,不需要排序,利用数字0~9一次递增(排好序)的规律,直接得出结果。
代码如下:
#include "stdio.h"int main(int argc, char **argv){char ch;int arr[10] = {0};//存储各个数字出现的次数,初始化为0//统计各个数字出现的次数while(1){ch = getchar();if (ch == '\n'){break;}arr[ch - '0']++;}int i, j;//输出各个数字出现的次数for (i = 9; i >= 0; i--){printf("数字%d 出现%d次.\n", i, arr[i]);}//输出这些数组成的最大的数printf("\n组成的最大的数:\n");for (i = 9; i >= 0; i--){for(j = arr[i]; j > 0; j--)printf("%d", i);}printf("\n");//输出这些数组成的最小的数,注意:0不输出printf("\n组成的最小的数:\n");for (i = 1; i <= 9; i++){for(j = arr[i]; j > 0; j--)printf("%d", i);}printf("\n");return 0;}
【运行截图】
- 数组--排序--组成最大数
- 数组排序算法之,组成最大数
- leetcode 179.最大数量 【数组组成最大数】
- 找出二维数组各数组中最大数并组成新数组
- Java从键盘中读取一串数字存入数组,并返回元素组成的最大数
- 给定一个数组,元素都是正整数,要求返回这些元素所组成的最大数
- 求数组排序后相邻数的最大差值
- leetcode:排序数组之后相邻数的最大差
- 求数组排序后相邻两个数的最大差值
- 数组排序之后相邻数的最大差值
- 排序数组中的相邻两数最大差值
- 数组排序之后相邻数的最大差值
- 数组最大数
- 冒泡排序和查找数组中最大的数及查找两个数中最大的数
- Java分割数组成子数组
- 数组中组成最小的数
- 将数组组成最小的数
- 选择排序与查找数组最大的一个数并移动到数组的最后
- Hibernate com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'password' in
- 检查内存泄漏和高危函数的自动化
- 【木头Cocos2d-x 009】游戏实例-《跑跑跑》制作教程(第一篇)——加载地图
- DirectDrawEnumerateEx 用法
- VB6升级到VB2010之十四:与运算和逻辑运算判断失误导致升级出错~
- 数组--排序--组成最大数
- 实习日志(15):SQLServer与MySQL语句的一些区别
- 在XCode中跟踪编译次数
- java学习 第四节 简单java程序解析
- 谈谈苦逼这件事
- 在iOS中让图片旋转时抗锯齿
- zoj 1610 Count the Colors(线段树,成段更新染色)
- sqlserver里面获取日期的不同格式
- 一个关于dual的问题!!!