最后一个数据丢了,出来一个奇怪的数据。不知道什么原因。
#include<iostream>
using namespace std;
const int MAX=100;
void myinser(int a[],int x,int &n);
int main()
{
int a[MAX],n,x,maxi;
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
for(int j=0;j<n-1;j++)
{
for(int k=j+1;k<n;k++)
{
if(a[k]>a[j])
{
maxi=a[k];
a[k]=a[j];
a[j]=maxi;
}
}
}
cin>>x;
myinser(a,x,n);
for(int i=0;i<n;i++)
cout<<a[i]<<" ";
return 0;
}
void myinser(int a[],int x,int &n)
{
for(int i=0;i<n;i++)
{
if(x>a[i])
for(int j=n;j>=i;j--)
a[j+1]=a[j];
a[i]=x;
break;
}
n++;
}
这是输入和输出。
10 2 7 9 11 5 4 3 6 8 20
12
12 11 9 8 7 6 5 4 3 2 1875855620
从键盘输入n个整数(n<100),存放在一维数组中,将它们从大到小排序,再从键盘输入一个整数x,将该数插入到该数组中,使得插入后元素序列依然有序,输出插入后数组中的所有元素。