华为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中异常介绍
一.异常概述 异常处理已经成为衡量一门语言是否成熟的标准之一,目前的主流编程语言如C++.C#.Ruby.Python等,大都提供了异常处理机制.增加了异常处理机制后的程序有更好的容错性,更加健壮. ...
- Android学习路线(二十一)运用Fragment构建动态UI——创建一个Fragment
你能够把fragment看成是activity的模块化部分.它拥有自己的生命周期,接受它自己的输入事件,你能够在activity执行时加入或者删除它(有点像是一个"子activity&quo ...
- 图片转成base64, base64转成图片
1.我们在看代码时经常在img或css背景图片中看到: src=”data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAMAAAAOusbgA ...
- Android版俄罗斯方块的实现
学习Android的基本开发也有一段时间了,可是由于没有常常使用Android渐渐的也就忘记了. Android编程学的不深,不过为了对付逆向,可是有时还是会感到力不从心的.毕竟不是一个计算机专业毕业 ...
- top命令的Load average 含义及性能参考基值
$ uptime11:12:26 up 3:44, 4 users, load average: 0.38, 0.31, 0.19 系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树.如果一个 ...
- 个人博客平台 http://craft6.cn 上线
以后主要在该个人博客平台发表博文,有兴趣的读者可以访问: Craft6.cn 该博客是自主开发,功能和内容均在逐步增加中.所有文章均是原创.
- C语言-常用函数处理
1.使用fgets #define SLEN 50 char str[SLEN]; fgets(str, SLEN, stdin); i = ; while (str[i] != '\n' & ...
- 域对象的引用,ActionContext 和ServletActionContext类的使用
ActionContext 获取 域引用的map ServletActionContext获取具体域对象 //域范围 ActionContext ac = ActionContext.getConte ...
- Linux修改时间的方法
http://www.blogjava.net/itvincent/archive/2007/08/03/134242.html修改linux的时间可以使用date指令 在命令行输入: date 显示 ...
- 【Linux设备驱动程序】Chapter 2 - 构造和运行模块
Hello World 模块 #include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Du ...