011--c数组--排序--组成最大数
2024-08-23 06:19:33
组成最大数
任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 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;
- }
【运行截图】
最新文章
- F12定义到元数据问题解决
- OGNL表达式
- PHP 输出图像 imagegif 、imagejpeg 与 imagepng 函数
- 流媒体选择Nginx是福还是祸?
- work8
- javascript中,你真的会用console吗?
- 《30天自制操作系统》读书笔记(2)hello, world
- CGLIB 动态代理的实现
- MySQL改写子查询成Join
- C语言设计第一次作业
- git和github的第一次接触
- java中的可释放资源定义,类似c#中的using
- 【比赛打分展示双屏管理系统-专业版】Other.ini 配置文件解读以及排行榜界面及专家评语提交展示等具体配置
- kubernetes 实战4_命令_Configure Pods and Containers
- 使用Log4net创建日志及简单扩展
- centos7构建python2.7常用开发环境
- JS获取周、月、季度日期
- PHP性能调优---PHP-FPM配置及使用总结
- 使用 switch 对值进行分支
- 【liunx命令】上传下载文件的方法
热门文章
- W3School Memcached教程(安装/基本操作/高级操作/命令)
- 13、Java并发性和多线程-Java Volatile关键字
- 《WF in 24 Hours》读书笔记 - Hour 1 - Understanding Windows Workflow Foundation
- [Vue-rx] Cache Remote Data Requests with RxJS and Vue.js
- poj 2559求柱形图中最大矩形
- shell学习三十七天----引用
- 汉澳Sinox2014X64server高级桌面服务器版操作系统公布
- js阻碍DOM加载
- 操作系统的时区设置会影响数据库查询SYSDATE和SYSTIMESTAMP的值
- java后端判断用户是否关注公众号