PAT (Basic Level) Practice (中文)1023 组个最小数
时间:2022-07-24
本文章向大家介绍PAT (Basic Level) Practice (中文)1023 组个最小数,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1023 组个最小数
给定数字 0-9 各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意 0 不能做首位)。例如:给定两个 0,两个 1,三个 5,一个 8,我们得到的最小的数就是 10015558。
现给定数字,请编写程序输出能够组成的最小的数。
输入格式:
输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非 0 的数字。
输出格式:
在一行中输出能够组成的最小的数。
输入样例:
2 2 0 0 0 3 0 0 1 0
输出样例:
10015558
分析:
首先列出0~9所有数字,如 输入 2 2 0 0 0 3 0 0 1 0 时,应列出 0 0 1 1 5 5 5 8 ,对列出的数字从小到大排序,从左到右,找出第一个不为0的数,作为最小数的首位,将剩下的数依次输出。
代码:
#include<stdio.h>
void fun(int *arr2,int t)
{
int i,j;
int index=0;
int temp;
for(i=0;i<t-1;i++)
{
index=i;
temp=arr2[i];
for(j=i+1;j<t;j++)
{
if(arr2[j]<=arr2[index]) index=j;
}
arr2[i]=arr2[index];
arr2[index]=temp;
}
}
void printfun(int *arr2,int n)
{
int min=0;
int i;
for(i=0;i<n;i++)
{
if(arr2[i]!=0)
{
// min=arr2[i];
printf("%d",arr2[i]);
arr2[i]=-1;
break;
}
}
for(i=0;i<n;i++)
{
if(arr2[i]>=0&&arr2[i]<=9)
{
// min=min*10+arr2[i];
printf("%d",arr2[i]);
}
}
// printf("%dn",min);
printf("n");
}
int main()
{
int arr1[10];
int arr2[1000];
int t=0;
int i;
int sum=0;
int l=0;
for(i=0;i<10;i++)
{
scanf("%d",&arr1[i]);
sum+=arr1[i];
}
if(sum>50&&(sum-arr1[0]<=0))return 0;
else{
int j;
for(i=0;i<10;i++)
{
for(j=1;j<=arr1[i];j++)
{
arr2[t++]=i;
}
}
fun(&arr2,t); //排序
printfun(&arr2,t); //组最小数
return 0;
}
}
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- R语言入门之非参数假设检验
- 在 K8S 部署一个 Spark History Server - 篇2
- UEFI/LEGACY 可启动ISO制作
- Kerberized HDFS with Kubernetes
- 经典 | Python实例小挑战—Part nine
- Mac CPU 相关
- 经典 | Python实例小挑战—Part ten
- 查看 Linux CPU 信息
- 方差分析(ANOVA)
- ps 究竟是 aux 还是 ef
- R语言入门之数据的索引
- 【用SQLite做数据分析】Python操作SQLite的入门介绍
- Flink Session Cluster on K8S
- R语言入门之相关性
- R语言入门之线性回归