当前位置: 首页 > article >正文

C语言给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)

这个题目要求的输出是一串数字!!!

不是下面:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。

输入:5 8 5 5 1 1 0 0(输入8个数:两个0,两个1,三个5,一个8)

输出:10015558

代码如下:

#include <stdio.h>
int main()
{
    int a[100];
    int b[10]={0};
    char ch;
    int j,i=0;
    do
    {
        scanf("%d", &a[i]);
        i++;
    } while ((ch = getchar()) != '\n');
    for (j = 0; j < i; j++){
       switch(a[j]){
           case 0:b[0]++;break;
           case 1:b[1]++;break;
           case 2:b[2]++;break;
           case 3:b[3]++;break;
           case 4:b[4]++;break;
           case 5:b[5]++;break;
           case 6:b[6]++;break;
           case 7:b[7]++;break;
           case 8:b[8]++;break;
           case 9:b[9]++;break;
       }
    }
   for(i=1;i<10;i++)
    {
        if(b[i]!=0)
           {
                printf("%d",i);
                b[i]--;
                break;
           }
    }
    for(i=0;i<10;i++)
    {
        for(j=0;j<b[i];j++)
        {
            printf("%d",i);
        }
    }
    return 0;

结果如下:

思路:

这道题目首先现将输入的内容放到一个数组里面,然后通过一个switch得到每一个数字出现的个数。然后根据这个个数找到不为0的第一个数字作为首位然后再从小到大输出即可。


http://www.kler.cn/a/159886.html

相关文章:

  • TDesign了解及使用
  • 【Qt】在 Qt Creator 中使用图片资源方法(含素材网站推荐)
  • 数学建模模型算法-Python实现
  • 出海攻略,如何一键保存Facebook视频素材
  • vue elementui el-dropdown-item设置@click无效的解决方案
  • mapreduce 将数据清洗后保存到 hbase
  • Spark_spark hints 详细介绍
  • HTTPS安全防窃听、防冒充、防篡改三大机制原理
  • vuepress-----2、初体验
  • 安全测试工具,自动发现网站所有URL!
  • Docker本地部署Firefox火狐浏览器并远程访问
  • mysql:免费的GUI客户端工具推荐并介绍常用的操作
  • vue 基础
  • C++ 中的运算符重载(二)
  • 【Web】NewStarCTF Week3 个人复现
  • centos7 yum安装jdk1.8
  • Go 模块系统最小版本选择法 MVS 详解
  • 编译器缓存
  • 多线程(初阶七:阻塞队列和生产者消费者模型)
  • SQL 错误 [1476] [22012]: ORA-01476: 除数为 0
  • 生殖感染对生育的影响有哪些?劲松中西医结合医院专家详细解读
  • js模块化的应用!!!(前无古人,后无来者)
  • Photoshop Elements 2023 v21.0(ps简化版)
  • ambari 开启hdfs回收站机制
  • SpringDataRedis 操作 Redis,并指定数据序列化器
  • git 克隆无权限-重新输入账号密码