输入n个整数。输出当中最小的k个:

  1.  
  1. 代码:
  1.  
  1.  
  2. /*
  3.  * 输入n个整数,输出当中最小的k个。
  4.  
  5.  * 输入说明:1、输入两个整数;2、输入一个整数数组
  6.  * 输出说明:输出一个整数数组
  7.  */
  1.  
  1. <pre name="code" class="cpp">#include<stdio.h>

  1.  
  1.  
  1. /*
  2.  * 功能:输入 n 个整数。输出当中最小的k个
  3.  *
  4.  * 输入參数:unsigned int uiInputNum  输入整数个数
  5.  *<span style="white-space:pre"> </span> int * pInputArray<span style="white-space:pre"> </span>  输入整数数组
  6.  *<span style="white-space:pre"> </span> unsigned int uiK<span style="white-space:pre"> </span>  需输出uiK个整数
  7.  * 输出參数:int * pOutputArray  指针指向的内存区域保证有效。最小的uiK个整数
  8.  *
  9.  */
  10. void GetMinK(unsigned int uiInputNum, int * pInputArray, unsigned int uiK, int * pOutputArray)
  11. {
  12. int temp = 0;
  13. int i, j;
  14.  
  15. for( i=0; i < uiInputNum; i++)
  16. {
  17. for( j=i+1; j < uiInputNum; j++)
  18. {
  19. if ( *(pInputArray+i) > *(pInputArray+j) )
  20. {
  21. temp = *(pInputArray+j);
  22. *(pInputArray+j) = *(pInputArray+i);
  23. *(pInputArray+i) = temp;
  24. }
  25. }
  26. }
  27.  
  28. for( i=0; i < uiK; i++ )
  29. {
  30. *(pOutputArray+i)=*(pInputArray+i);
  31. }
  32. }
  33.  
  34. int main(void)
  35. {
  36. unsigned int i, j, Num, k;
  37. int ai[255], ao[255];
  38.  
  39. scanf("%d", &Num);
  40. scanf("%d", &k);
  41.  
  42. for( i = 0; i < Num; i++)
  43. {
  44. scanf("%d",&ai[i] );
  45. }
  46.  
  47. GetMinK( Num, ai, k, ao);
  48.  
  49. for ( j = 0; j < k; j++)
  50. {
  51. printf("%d ", ao[j]);
  52. }
  53. }

华为OJ平台试题 —— 数组:输入n个整数,输出当中最小的k个的更多相关文章

  1. 华为OJ平台试题 ——数组:整形数组合并

    代码: /* * 将两个整型数组依照升序合并,而且过滤掉反复数组元素 */ #include <stdio.h> #define N 256 #define M 512 /* * 合并数组 ...

  2. 华为OJ平台——整形数组合并

    题目描述: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 输入: 输入说明,按下列顺序输入: 1 输入第一个数组的个数 2 输入第一个数组的数值 3 输入第二个数组的个数 4 输入第二个数组的数 ...

  3. 华为OJ平台——输出最小的k个数

    输入n个整数,输出其中最小的k个. 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int *pInputArray, unsignedint ...

  4. 华为OJ平台——尼科彻斯定理

    题目描述: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和. 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入 输入一个int整数 ...

  5. [华为]输入n个整数,输出其中最小的k个

    链接:https://www.nowcoder.com/questionTerminal/69ef2267aafd4d52b250a272fd27052c来源:牛客网 输入n个整数,输出其中最小的k个 ...

  6. 【C语言】求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素

    //求旋转数组的最小数字,输入一个递增排序的数组的一个旋转,输出其最小元素 #include <stdio.h> #include <string.h> int find_mi ...

  7. 输入n个整数,输出其中最小的k个

    描述 输入n个整数,输出其中最小的k个. 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsigned ...

  8. 排序,求几个最值问题,输入n个整数,输出其中最小的k个元素。

    看完两个求最大值算法之后的一些感想. 如果想直接看算法的可以跳过.但是我觉得我这些想法还是比较有用的,至少对我将来的算法设计是这样的. 算法的功能越强大,必然意味着速度慢,因为根据丛林法则,那种慢又功 ...

  9. 华为OJ平台——字符串分隔

    题目描述: 连续输入字符串,请按长度为8拆分每个字符创 后输出到新的字符串数组: 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理 输入 连续输入字符串(输入两次,每个字符长长度小于100)输 ...

随机推荐

  1. 基于Prometheus搭建SpringCloud全方位立体监控体系

    前提 最近公司在联合运维做一套全方位监控的系统,应用集群的技术栈是SpringCloud体系.虽然本人没有参与具体基础架构的研发,但是从应用引入的包和一些资料的查阅大致推算出具体的实现方案,这里做一次 ...

  2. SQL-ORDER BY 多字段排序(升序、降序)

    ORDER BY _column1, _column2; /* _column1升序,_column2升序 */   ORDER BY _column1, _column2 DESC; /* _col ...

  3. VUE v-bind绑定class和style

    1.绑定class (1)对象语法 <!DOCTYPE html> <html lang="zh"> <head> <meta chars ...

  4. (十)Unity5.0新特性------新UI系统实战

    原文 Unity New GUI Tutorial – Part 1 Unity New GUI Tutorial- Part 2 Unity New GUI Tutorial – Part 3 大家 ...

  5. 小强升职记(GTD)脑图

  6. 单元测试JUnit 4(二)——keeps the bar green to keeps the code clean

    1.Failure和Error Failure是指测试失败  Error是指测试程序本身出错  (int a=10/0) 2.JUnit常用注解 2.1 @RunWith: 可以更改测试运行器(继承o ...

  7. golang中使用mongodb

    mgo简介 mongodb官方没有关于go的mongodb的驱动,因此只能使用第三方驱动,mgo就是使用最多的一种. mgo(音mango)是MongoDB的Go语言驱动,它用基于Go语法的简单API ...

  8. js+CSS 实现可以编辑的下拉列表框

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  9. springboot服务器部署方式

    1.利用maven打包 maven project --> clean --> install 2.云服务器上启动 nohup java -jar /xxx/xxx/xxx.jar > ...

  10. 小电流MOS管

    N沟道: 2n7000 Id=0.35A 2n7002  Id=0.2A