华为历年机试题型总结系列(七)
来源:互联网 发布:淘宝模特收费 编辑:程序博客网 时间:2024/05/17 01:42
18.身高排序
输入一组身高在170到190之间(5个身高),比较身高差,选出身高差最小的两个身高;若身高差相同,选平均身高高的那两个身高;从小到大输出:
如输入:170 181 173 186 190 输出:170 173
#include<stdio.h>int main(void){ int pInputStr[5]={0}; int pOutputStr[2]={0}; int height_diverse[4]={0}; int i,j,temp,min_diverse=100; printf("Input 5 heights:\n"); for(i=0;i<5;++i) scanf("%d",&pInputStr[i]); for(i=0;i<4;++i) { for(j=0;j<4-i;++j) { if(pInputStr[j]>pInputStr[j+1]) //冒泡升序排列 { temp=pInputStr[j]; pInputStr[j]=pInputStr[j+1]; pInputStr[j+1]=temp; } } } for(i=0;i<4;++i) height_diverse[i]=pInputStr[i+1]-pInputStr[i]; //升序排列,相邻之间的差为最小差 for(i=0;i<4;++i) min_diverse=(min_diverse<height_diverse[i])?min_diverse:height_diverse[i]; //最小身高差 for(i=0;i<4;++i) { if(height_diverse[i]==min_diverse) //因为升序排列,当出现相同身高差时,平均身高大的会覆盖平均身高小的 { pOutputStr[0]=pInputStr[i]; pOutputStr[1]=pInputStr[i+1]; } } printf("The minist diverse height: %d,%d",pOutputStr[0],pOutputStr[1]); return 0;}
19.数字大小
输入一串字符,只包含“0-10”和‘,’找出其中最大和最小数字(可能不止一个),输出最后剩余数字。如输入:3,3,4,5,6,77 输出:4,5,6 输入:2,5,4,10,5,2 输出:5,4,5
#include<stdio.h>#include<string.h>void DeleteMinMax(char *pInputStr, int StrLength, int *pOutputStr){ int i,j=0,k=0,max_number=0,min_number=50; int pOutputStr_Int[50]={0}; for(i=0;i<StrLength;) { if(pInputStr[i]==',') ++i; else if(pInputStr[i+1]=='0') //10的情况 { pOutputStr_Int[j++]=10; i+=2; } else //0-9的情况 pOutputStr_Int[j++]=pInputStr[i++]-48; //0-9字符转换成对应的数字 } for(i=0;i<j;++i) { max_number=(max_number>pOutputStr_Int[i])?max_number:pOutputStr_Int[i]; min_number=(min_number<pOutputStr_Int[i])?min_number:pOutputStr_Int[i]; } for(i=0;i<j;) { if(pOutputStr_Int[i]==max_number||pOutputStr_Int[i]==min_number) ++i; else //输出除了最大最小值之外的数字 pOutputStr[k++]=pOutputStr_Int[i++]; } for(i=0;i<k;++i) printf("%d,"pOutputStr[i]);}int main(void){ char pInputStr[50]; int pOutputStr[50]={0}; int StrLength,i; printf("Input the numbers and use ',' to seperate each other:\n"); gets(pInputStr); StrLength=strlen(pInputStr); DeleteMinMax(pInputStr,StrLength,pOutputStr); return 0;}
0 0
- 华为历年机试题型总结系列(七)
- 华为历年机试题型总结系列(一)
- 华为历年机试题型总结系列(二)
- 华为历年机试题型总结系列(三)
- 华为历年机试题型总结系列(四)
- 华为历年机试题型总结系列(五)
- 华为历年机试题型总结系列(六)
- 华为历年机试题型总结系列(八)
- 华为历年机试题2014
- 历年华为机试
- 华为机试历年题
- 华为历年机考题收录
- 华为机试题练习总结
- 华为历年机试试题【part4】
- 华为机试题(2)
- 华为机试题(3)
- 华为机试题(4)
- 华为机试题(5)
- android平台led开发之内核硬件驱动层(一)
- delphi EncdDecd.pas单元中Encoding方法出现#$D#$A的解决方法
- cinder创建volume流程简介
- Unity3d陀螺仪看全景图
- android微信支付
- 华为历年机试题型总结系列(七)
- C#发送邮件的方法及实例代码
- aidl is missing
- JAVA多线程编程(三)——线程的生命周期(sleep,join,interrupt)
- JVM学习笔记(一)------基本结构
- MAC命令 和 vi命令
- Server2008 R2 中拒绝访问 ProgID: "excel.application"及配置Microsoft Excel Application权限解决方案
- 九度 1411 -图最短路径 - 转圈
- 合并两个有序数组