华为机试—从5个人中选取2个人作为礼仪
2015-01-02 09:32
197 查看
要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小
(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。
Sample input: 161 189 167 172 188
Sample output: 188 189
测试数据为:161 189 167 172 188
结果为:
(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。
Sample input: 161 189 167 172 188
Sample output: 188 189
#include<stdio.h> #include<stdlib.h> int cmp(const void *a,const void *b) { return *(int*)a-*(int*)b; } int main(int argc, char *argv[]) { int a[5]; for(int i=0;i<5;++i) scanf("%d",&a[i]); qsort(a,5,sizeof(int),cmp); int diff=30; int index=0; for(int i=0;i<4;++i) { if(a[i+1]-a[i]<=diff) { index=i; diff=a[i+1]-a[i]; } } printf("%d %d\n",a[index],a[index+1]); return 0; }
测试数据为:161 189 167 172 188
结果为:
相关文章推荐
- 华为机试—从5个人中选取2个人作为礼仪
- 华为机试——从5个人中选取2个人作为礼仪
- C 要从5个人中选取2个人作为礼仪
- 从5个人中选取2个人作为礼仪
- 要从5个人中选取2个人作为礼仪,其中每个人的身高范围为160-190,要求2个人的身高差值最小(如果差值相同的话,选取其中最高的两人),以升序输出两个人的身高。
- 从5个人中选取2个人作为礼仪
- 从5个人中选取2个人作为礼仪
- 华为机试:从一个数组中选取不同的数(均小于10)组成一个最大的三位数
- 【华为交换路由常用命令】 chore.仅作为个人分享
- 华为机试--机器修复问题
- 华为机试时第三题由于自己构造链表时间过长,未能按时完成,回去之后弄了出来,如有更为简洁的方法,欢迎大家指教
- 牛客网_华为机试_023_删除字符串中出现次数最少的字符
- 华为机试:无线OSS-高精度整数加法、矩阵乘法计算量估算
- 软件工程师-华为机试注意事项
- Mybatis select返回值为map时,选取表字段的两列作为key,value
- 华为机试-删除字符串中所有给定的子串
- 华为机试(五)
- 华为机试-单词密钥数据加密
- 华为机试---钓鱼比赛
- 华为机试在线训练——计算最后一个单词的长度