题解
要在一个有序数列中插入一个数,还是输出有序数列,要从头开始,判断输入的一个数比有序数列中的哪一个数小,并且记住这个数的下标,然后就从头开始输出这个数列,到了那个标记的下标之前一个,就输出m这个插入的数,再输出从记住的下标开始的剩下的数列就可以了。
#include <iostream>
using namespace std;
int main()
{
int m,n,i,s;
int a[101];
while(cin>>n>>m)
{
if (n == 0 && m == 0) break;
for (i = 0; i < n; i++)
{
cin >> a[i];
}
for (i = 0; i < 101; i++)
{
if (a[i] > m) { s = i; break; }
}
for (i = 0; i < s; i++)
cout << a[i] << " ";
cout << m ;
for (i = s; i < n; i++)
cout << " "<<a[i];
cout << endl;
}
}