首页 > 代码库 > 定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j

定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j

//定义一个由整数组成的数组,然后输入一个整数x,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j;

//若X在此数组中,则返回数组中这个数的位置。

源代码:

#include<iostream>
using namespace std;
void main()
{
	int array[]={1,2,3,4,5,6,7,89,45,32,56,78,12,43,90,19};//16个数字
	int x;
	int max=array[0];
	int min=array[0];
	int maxweizhi=0;
	int minweizhi=0;
	int weizhi=0;
	char end;
	cout<<"请输入正整数x的值:";
	cin>>x;
	for(int i=0;i<16;i++)
	{
		if(x==array[i])
		{
			weizhi=i+1;
			break;
		}
		else
		{
			if(array[i]>x)
			{
				if(max<=x||max>array[i])//求大于x的最小整数的位置
				{
					maxweizhi=i+1;
					max=array[i];
				}
			}
			if(array[i]<x)
			{
				if(min>=x||min<array[i])//求小于x的最大整数的位置
				{
					minweizhi=i+1;
					min=array[i];
				}
			}
		}
	}
	cout<<"数组元素为:";
	for(int i=0;i<16;i++)
	{
		cout<<array[i]<<"  ";
	}
	cout<<endl;
	if(weizhi!=0)
	{
		cout<<x<<"在数组中的第"<<weizhi<<"个位置"<<endl;
	}
	else
	{
		cout<<x<<"不在数组中"<<endl;
		cout<<"小于"<<x<<"的最大数的位置是"<<minweizhi<<endl;
		cout<<"大于"<<x<<"的最小数的位置是"<<maxweizhi<<endl;
	}
	cout<<"请按任意字符回车结束:";
	cin>>end;
}


定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j