插队c++刚需求解。

【问题描述】

早操时间,同学们按照身高从小到大排成单列纵队,小童由于迟到了,同学们已经站好了队伍,小童想要插队。已知同学们排好的顺序及身高,请你告诉小童应该插在几号(若有身高相同的则尽量靠前排)。

输入:两行,第一行输入同学人数n(0<n<100)与小童的身高h,第二行依次输入n名同学的身高(cm)。

输出:一行,表示小童应该插入的序号。

要求:使用自定义函数。

【样例输入】

4 130

120 123 125 127

【样例输出】

5

供参考:

#include<iostream>
using namespace std;
int insert(int a[],int n,int key)
{
    int i;
    if (key > a[n - 1]){
         return n+1;
    }
    else{
         for(i = n; key <= a[i - 1] && i > 0; i--);
         return i+1;
    }
}
int main()
{
    int a[100]={0}, n, h, i;
    cin>>n>>h;
    for(i=0;i<n;i++)
        cin>>a[i];
    cout<<insert(a,n,h);
    return 0;
}


#include <iostream>
using namespace std;

void test01() {
    int n,h;
    cin>>n>>h;
    int * a = new int[n];
    for(int i = 0; i < n; i++) {
        cin>>a[i];
    }
    for(int i = 0; i < n; i++) {
        if(h<=a[i]) {
            cout<<i+1;
            return ;
        }
    }
    cout<<n+1;
    delete []a;
    return ;
}

int main() {
    test01();
    return 0;
}