华为OJ平台试题 —— 数组:输入n个整数,输出当中最小的k个
输入n个整数。输出当中最小的k个:
代码:
/*
* 输入n个整数,输出当中最小的k个。 * 输入说明:1、输入两个整数;2、输入一个整数数组
* 输出说明:输出一个整数数组
*/
<pre name="code" class="cpp">#include<stdio.h>
/*
* 功能:输入 n 个整数。输出当中最小的k个
*
* 输入參数:unsigned int uiInputNum 输入整数个数
*<span style="white-space:pre"> </span> int * pInputArray<span style="white-space:pre"> </span> 输入整数数组
*<span style="white-space:pre"> </span> unsigned int uiK<span style="white-space:pre"> </span> 需输出uiK个整数
* 输出參数:int * pOutputArray 指针指向的内存区域保证有效。最小的uiK个整数
*
*/
void GetMinK(unsigned int uiInputNum, int * pInputArray, unsigned int uiK, int * pOutputArray)
{
int temp = 0;
int i, j; for( i=0; i < uiInputNum; i++)
{
for( j=i+1; j < uiInputNum; j++)
{
if ( *(pInputArray+i) > *(pInputArray+j) )
{
temp = *(pInputArray+j);
*(pInputArray+j) = *(pInputArray+i);
*(pInputArray+i) = temp;
}
}
} for( i=0; i < uiK; i++ )
{
*(pOutputArray+i)=*(pInputArray+i);
}
} int main(void)
{
unsigned int i, j, Num, k;
int ai[255], ao[255]; scanf("%d", &Num);
scanf("%d", &k); for( i = 0; i < Num; i++)
{
scanf("%d",&ai[i] );
} GetMinK( Num, ai, k, ao); for ( j = 0; j < k; j++)
{
printf("%d ", ao[j]);
}
}
华为OJ平台试题 —— 数组:输入n个整数,输出当中最小的k个的更多相关文章
- 华为OJ平台试题 ——数组:整形数组合并
代码: /* * 将两个整型数组依照升序合并,而且过滤掉反复数组元素 */ #include <stdio.h> #define N 256 #define M 512 /* * 合并数组 ...
- 华为OJ平台——整形数组合并
题目描述: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 输入: 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数 ...
- 华为OJ平台——输出最小的k个数
输入n个整数,输出其中最小的k个. 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int *pInputArray, unsignedint ...
- 华为OJ平台——尼科彻斯定理
题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入 输入一个int整数 ...
- [华为]输入n个整数,输出其中最小的k个
链接:https://www.nowcoder.com/questionTerminal/69ef2267aafd4d52b250a272fd27052c来源:牛客网 输入n个整数,输出其中最小的k个 ...
- 【C语言】求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素
//求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素 #include <stdio.h> #include <string.h> int find_mi ...
- 输入n个整数,输出其中最小的k个
描述 输入n个整数,输出其中最小的k个. 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsigned ...
- 排序,求几个最值问题,输入n个整数,输出其中最小的k个元素。
看完两个求最大值算法之后的一些感想. 如果想直接看算法的可以跳过.但是我觉得我这些想法还是比较有用的,至少对我将来的算法设计是这样的. 算法的功能越强大,必然意味着速度慢,因为根据丛林法则,那种慢又功 ...
- 华为OJ平台——字符串分隔
题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组: 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入 连续输入字符串(输入两次,每个字符长长度小于100)输 ...
随机推荐
- 【转】JAVA – 虚函数、抽象函数、抽象类、接口
1. Java虚函数 虚函数的存在是为了多态. C++中普通成员函数加上virtual关键字就成为虚函数 Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行 ...
- 二维纹理 Texture 2D
Textures bring your Meshes, Particles, and interfaces to life! They are image or movie files that yo ...
- 算法笔记_099:蓝桥杯练习 算法提高 排列数(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 0.1.2三个数字的全排列有六种,按照字母序排列如下: 012.021.102.120.201.210 输入一个数n 求0~9十个数的全排 ...
- Java集合-Map接口相关操作方法
Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs). 该接口描述了从不重复的键到值的映射. (1) 添加.删除操作: Object put(Ob ...
- Docker学习笔记之一,搭建一个JAVA Tomcat运行环境(转)
前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序,并通过配置文件可以轻松实现应用程序的自动化安装.部署和升级,非常 ...
- ubuntu下运行第一个.net core web程序
前置条件 ubuntu系统 且已经安装dotnetcore运行环境 mkdir testMVC 创建一个文件夹 cd testMVC 进入文件夹 dotnet new -t web 创建程序( ...
- mongodb - mongostat说明
# ./mongostat insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|a ...
- VS创建、安装、调试 windows服务(windows service)
1.创建 windows服务 项目 文件 -> 新建项目 -> 已安装的模板 -> Visual C# -> windows ,在右侧窗口选择"windows 服 ...
- Mongodb更新数组$pull修饰符
http://blog.csdn.net/yaomingyang/article/details/78701643 一.$pull修饰符会删除掉数组中符合条件的元素,使用的格式是: { $pull: ...
- cacheManager载入问题
net.sf.ehcache.CacheException: Another unnamed CacheManager already exists in the same VM. Please pr ...