【问题描述】有N个元素的有序数列,输入一个数,判断这个数是否在数列中,如果在,输出它在数列中的位置。
【输入形式】输入序列的数字个数n; 输入数列中的数据; 输入需要判断的数;
【输出形式】对于输入的数,如果存在于有序的序列,输出其所在位置;如果不存在,请输出“Not in sequence!”;
【样例输入】5
1 20 31 46 58
46
【样例输出】please input N:
please input N numbers in sequence:
please input number to be searched:
the searched number is in the sequence and the location is 4.
如果没有,输出Not in sequence!
//N个元素的有序数列
#include<iostream>
using namespace std;
int main()
{
int num1,num2,a=1;
cout<<"please input N:"<<endl;
cin>>num1;
int shuzu[num1];//确定数组个数
cout<<"please input N numbers in sequence:"<<endl;
for(int t=0;t<num1;++t)
{
cin>>shuzu[t];//输入数组
}
cout<<"please input number to be searched:"<<endl;
cin>>num2;
for(int i=0;i<num1;++i)//判断输出其所在位置
{
if(shuzu[i]==num2)
{
cout<<"the searched number is in the sequence and the location is "<<i+1<<"."<<endl;
break;
}
if(shuzu[i]!=num2)
{
++a;
}
if(a==num1&&shuzu[num1-1]!=num2)
{
cout<<"Not in sequence!"<<endl;
}
}
return 0;
}