华为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)输 ...
随机推荐
- 使用iOS-QR-Code-Encoder 生成二维码
一:所需类库 iOS-QR-Code-Encoder 官网主页:https://github.com/moqod/iOS-QR-Code-Encoder 导入:QuartzCore.framework ...
- HTML5 移动端如何使用css让百分比布局的弹窗水平和垂直方向上居中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- PHP投票实现24小时间隔投票
l 设置cookie,浏览器都有禁用或者清除cookie的功能 l 设置session,关闭浏览器就没了 所以,我们只能尽量防止重复投票现象 session_start(); //获取ip地址 i ...
- H5 Canvas | 画布中变量作用域与setInterval方法同步执行探究
Demo - 随机绘制圆环 实现思路: 将一个圆环的绘制分成100份,setInterval()方法定义每隔时间n绘制一段新的,每份的开始路径都是上一次的结束路径,实现步进绘制. 通过Math.ran ...
- 11-spring学习-表达式语言
1,表达式语言的操作形式以及处理流程. 2,在spring中各种表达式字符串的编写. SPEL(spring Express language) 表达式入门 观察一下表达式: 范例:表达式操作 1)基 ...
- SchemaExport
不在xml中配置 <!-- Drop and re-create the database schema on startup <property name ...
- LeetCode: Linked List Cycle [141]
[题目] Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without usi ...
- C/C++ 编程计算2的100万次方(m的n次方),超长结果输出文件
#include <iostream> #include <stdio.h> #include <stdlib.h> #include <string> ...
- epoll反应堆模型
================================ 下面代码实现的思想:epoll反应堆模型:( libevent 网络编程开源库 核心思想) 1. 普通多路IO转接服务器: 红黑树 ― ...
- 删除MYSQL账号多于的空用户
默认情况下,mysql安装好之后,会存在匿名用户,也可以叫空用户,输入mysql之后直接回车便可进入mysql. 该匿名用户具有一定的权限,通过SHOW DATABASES;可以查看到informat ...