在一个排好序的升序数列中,查找与肆意几个给心猿意马的值最接近的元素。要求升序列的长度小于100000,各元素的值小于1000000000,需要查找的给心猿意马值个数小于10000,给心猿意马值的巨细在1000000000之内,若是知足前提的值有两个,则输出最小的一个。
若何用C++实现这一计较呢?小编与大师分享操作经验。
输入数据时,第1行输入升序数列的长度,第2行输入数列的各值,第3行输入需要查找的给心猿意马值个数,最后一行输入各查找的给心猿意马值。
起首,界说一个常量,节制升序数列的最年夜长度。
界说各变量和数组,类型都为整型数据,用来实现运算。
输入数列的长度,保留在变量n中。
接着,输入序列的各元素,用for轮回节制输入。
输入要查找的给心猿意马值的个数,保留在变量m中。
用for轮回节制输入各给心猿意马值,并计较出与给心猿意马值最接近的序列中的值。
给查找规模的最小值和最高值位置赋值,初始值为0和n-1。
用do-while轮回,实现给心猿意马值在序列中最接近值的查找。
用if语句节制,若是序列中有要查找的值,则输出该值。
若是最后找到值年夜于需查找的值,按照其与查找值的接近法式判定出序列中最接近的元素。
最后,若是查找到的值小于需查找的值,按照与查找值最接近的两个值,找出知足前提的元素。
运行法式,输入升序序列、需查找的值后,电脑就会运算出查找值在序列中最接近的元素。
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!