这是知乎上面的一个题目,挺有意思,面试的时候应该是作为基础题,很多人不屑于看这样的题目,但是到自己些的时候,就会有很多问题。

题目要求

输入一个数3256,将他从小到大输出,就是2356

分析

输入的是字符,我们这里就只分析了int类型不考虑其他字符了。

代码如下:

#include <stdio.h>
#include <string.h>/*
二进制 |十进制 |十六进制 | 字符
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
*/ void sort(char *nums,unsigned char *output,size_t len);
int main(int argc, char const *argv[])
{char nums[100];unsigned char output[10] = {0};/*0~9*/int i = 0;gets(nums);sort(nums,output,strlen(nums));//printf("\n");for(i = 0;i<10;i++){while(output[i] --) printf("%c",i+0x30);}getchar();return 0;
}void sort(char *nums,unsigned char *output,size_t len)
{int i = 0;for(i = 0;i<len;i++){output[nums[i] - 0x30]++;//printf("%d,",nums[i] - 0x30);}
}

代码很简单,把对应的字符ascii码转成 0~9的整型,然后使用计数排序,也就是每个位置判断一下,如果这个位置是1,就把这个位置的数值加1。

输出

推荐阅读:

专辑|Linux文章汇总

专辑|程序人生

专辑|C语言

我的知识小密圈

输入一个数3256,将他从小到大输出,就是2356相关推荐

  1. 本题要求将输入的任意3个整数从小到大输出。

    本题要求将输入的任意3个整数从小到大输出. 输入格式: 输入在一行中给出3个整数,其间以空格分隔. 输出格式: 在一行中将3个整数从小到大输出,其间以"->"相连. 输入样例 ...

  2. (C++)输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求用3个函数实现,分别为输入10个数、进行处理、输出10个数。要求使用指针的方法进行处理。

    #include<cstdio> //输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.要求用3个函数实现,分别为输入10个数.进行处理.输出10个数.要求使用指针 ...

  3. ACMNO.37 C语言-数字交换 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换。写三个函数; ①输入10个数;②进行处理;③输出10个数。

    题目描述 输入10个整数,将其中最小的数与第一个数对换,然后把最大的数与最后一个数对换. 写三个函数: ①输入10个数:②进行处理:③输出10个数. 输入 10个整数 输出 整理后的十个数,每个数后跟 ...

  4. java switch语句练习 从键盘输入2个数和一个运算符(+,-,*,/),输出运算结果

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  5. java5个数从大到小进行排序_输入5个数用冒泡排序进行从小到大排列

    package liu0913; import java.util.Scanner; public class Maopao { public static void main(String[] ar ...

  6. 任意输入三个数字,按从小到大输出(Python)

    x = int(input("第一个数: ")) y = int(input("第二个数: ")) z = int(input("第三个数: &quo ...

  7. c语言输出最大的数ns流程图_③依次输入10个数,要求输出其中最大的数用传统流程图表示...

    编写VB程序.输入20个数,放在数组中,输出其总和,平均数,以及大于平均数的那些数 简单写一下代码流程dima(20)fori=0to19a(i)=inputbox("输入第"+s ...

  8. c语言按大小排列输出三个数,输入3个数a,b,c,按大小顺序输出

    题目:输入3个数a,b,c,按大小顺序输出 package com.li.FiftyAlgorthm; import java.util.Scanner; /** * 题目:输入3个数a,b,c,按大 ...

  9. c语言如何将数组里的数排序输出,c程序输入10个数到一维数组中,按升序排序后输出。...

    匿名用户 1级 2010-01-16 回答 //演示输入N个数,并按大小顺序输出 #include #define N 10 float increase(float *array,unsigned ...

最新文章

  1. C语言下标要求数组或指针,c语言改错 error C2109: 下标要求数组或指针类型怎么改?...
  2. 中国机器人产业发展报告(2019)正式发布!
  3. legend2---开发常用语句
  4. linux目录怎么自动生成,情景linux--如何快速生成大文件?
  5. 实战mongodb3.06 Relica Sets+sharding集群
  6. JavaScript那些事儿(1):对比JavaScript和jQuery的Dom操作
  7. 【计算机系统结构】第一周 课上笔记
  8. CentOS 7.2安装Jenkins自动构建Git项目
  9. 信用卡的3种分期模式全面比较
  10. golang 修改nginx配置文件_「系统架构」Nginx调优,不可错过的几点
  11. thymealf如何实现传单个变量给html_纯前端使用JavaScript发送电子邮件,5个步骤图文教程...
  12. 1.9 使用PuTTY远程连接Linux 1.10 使用xshell连接Linux 1.11 PuTTY密钥认证 1.12 xshell密钥认证...
  13. pointer-events:none
  14. 2原理图_pcb板设计电路原理图步骤和方法
  15. 循环增加li id_循环老化对于锂离子电池中锂和电解液分布的影响
  16. jquery项目中一些比较常用的简单方法
  17. 基于visual Studio2013解决C语言竞赛题之0203格式化输出
  18. 顺序表查找及其优化(Java)
  19. 使用代码辅助生成工具CodeSmith -- 生成NHibernate的映射文件
  20. X99-DELUXE II 无线网卡linux驱动RHEL8.5-centos8.5

热门文章

  1. 关于JS获取select值的两种实现方法
  2. 嵌入式 boa服务器移植
  3. Scala.js:将Scala编译为JavaScript的编译器
  4. SQL Server 错误18456
  5. 画图板-- 中点算法画圆
  6. javascript 里Array的一些方法
  7. parallels网络初始化失败_33 个神经网络「炼丹」技巧
  8. du -sh 如何找到最大的文件夹_小白必看!手把手教你如何在linux上安装redis数据库...
  9. mysql dbo_mysql-双重分组
  10. 机器学习中的数学基础相关知识总结