011--c数组--排序--组成最大数
任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。
输入: 自然数 n
输出: 各位数字组成的最大数
【分析】
很显然,这是个排序的题。先用冒泡排序实现,很简单代码就不写了。
【代码】
冒泡排序的代码在我的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;
- }
【运行截图】

011--c数组--排序--组成最大数的更多相关文章
- FCC JS基础算法题(5):Return Largest Numbers in Arrays(找出多个数组中的最大数)
题目描述: 找出多个数组中的最大数右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组.提示:你可以用for循环来迭代数组,并通过arr[i]的方式来访问数组 ...
- jquery json数组(排序)
ar nums = ['12','2','5','36','4']; $('#show7').html(nums.join('<br/>')); //定义了sort的比较函数 nums = ...
- jquery数组(排序)
sort(); html: <h3>字符串数组排序前</h3> <div id="show1"></div> <h3>排 ...
- 【BZOJ3262】陌上花开 (CDQ分治+树状数组+排序)
Time Limit: 3000 ms Memory Limit: 256 MB Description 有n朵花,每朵花有三个属性:花形(s).颜色(c).气味(m),用三个整数表示. 现要对每 ...
- 并查集&线段树&树状数组&排序二叉树
超级无敌巨牛逼并查集(带权并查集)https://vjudge.net/problem/UVALive-4487 带删点的加权并查集 https://vjudge.net/problem/UVA-11 ...
- 工作总结 string数组 排序 string数组 比较
用到 工具类 Array 创建.处理.搜索数组并对数组进行排序 Enumerable 提供一组用于查询实现 System.Collections.Generic.IEnumerable<T ...
- Java自学-数组 排序
Java 数组选择法,冒泡法排序 步骤 1 : 选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其 ...
- [USACO17FEB]Why Did the Cow Cross the Road III G (树状数组,排序)
题目链接 Solution 二维偏序问题. 现将所有点按照左端点排序,如此以来从左至右便满足了 \(a_i<a_j\) . 接下来对于任意一个点 \(j\) ,其之前的所有节点都满足 \(a_i ...
- golang数组 排序和查找
package main import "fmt" func BubbleSort(arr *[5]int){ fmt.Println("排序前arr=",(* ...
随机推荐
- Ubuntu 16.04下轻量级文件搜索工具Catfish
Catfish搜索文件速度快,但是不支持正则表达式. 安装: sudo add-apt-repository ppa:catfish-search/ppa sudo apt-get update su ...
- W3School Memcached教程(安装/基本操作/高级操作/命令)
来自W3School的Memcached教程,基本上涵盖了从安装到状态监控的教程. 不过最全的应该是官方提供在GitHub上的Wiki教程,一切的标准都来自官方,参考:https://github.c ...
- mysql bin-log 设置
mysql 的事物日至为 [root@localhost mysql]# ls -ldtr mysql-bin.* -rw-rw---- mysql mysql 4月 : mysql-bin. -rw ...
- Redis: Useful commands
SELECT X - Select database (the X must be int) CONFIG GET databases - Get databases number INFO keys ...
- vijos - P1122出栈序列统计 (卡特兰数)
P1122出栈序列统计 未递交 标签:NOIP普及组2003[显示标签] 描写叙述 栈是经常使用的一种数据结构,有n令元素在栈顶端一側等待进栈,栈顶端还有一側是出栈序列. 你已经知道栈的操作有两·种: ...
- 导入数据到mysql的一种简单的方法
由于ubuntu默认自带的mysql版本号为5.5,并不能使用load data infile这样的高级的功能,因此我们写了一个通用的脚本来上传文件 shell脚本 cat ./employee.cs ...
- IOS--JSON数据解析成字典
JSON解析成字典 {} –>字典 [] –>数组 ""–>字符串 11/11.1–>NSNumber true/false –>NSNumber n ...
- MyBatis參数格式化异常解决方式:MyBatisSystemException:
MyBatis參数格式化异常解决方式:MyBatisSystemException: 问题:今天使用MyBatis开发查询功能时,前台传入查询条件明明是String类型,到后台就报错,提示格式化数值错 ...
- VS中多项目联合开发技巧
1. 新建目录,将它设定为 本次project的工作目录,新建一个Code Files目录 2. 在Code Files目录里.新建一个Win32控制台程序(总控程序),再新建其他的项目比方项目A ...
- HDOJ 4705 Y 树形DP
DP:求出3点构成链的方案数 .然后总方案数减去它 Y Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K ...