数组中油5个整数,分别为1 ~ 100之间的随机数,从键盘输入一个1~100之间的整数,从数组中找出一个与该数差值的绝对值最小的元素并且输出。若两个元素同时满足要求,输出其中之一即可。
用类(Search)实现,构造函数给数组a复制并输出把每个元素,input函数输入n,search函数输出符合要求的数组元素。
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<string>
#include<vector>//能够存放任意类型的动态数组,能够增加和压缩数据
#include<conio.h>//用户通过按键盘产生的对应操作,如getch()函数
using namespace std;
class Search
{
private:
int n,i,a[5];
public:
Search()
{
srand(time(0));
for (i = 0; i < 5; i++) {
a[i] = rand() % 100 + 1;
cout << a[i] << endl;
}
}
void input()
{
cin >> n;
}
void search()
{
int temp=0,min=0,now=100;
min = a[0];
for (i = 0; i < 5; i++)
{
temp = a[i] - n;
if (temp < 0)
temp = n - a[i];
if (temp < now)
{
min = a[i];
now = temp;
}
}
cout<<min<<endl;
}
};
int main()
{
Search s;
s.input();
s.search();
return 0;
}