#include <stdio.h>
#include <stdlib.h>
int a[1000]={0},i,j,n,x,s=0;//x是要动态输入的整数,s记录是正序还是逆序,1为升序,0为逆序
int f(int y)//函数名为f, 负责输入一串有序数和要插入的数
{
printf("要输入的整数个数:") ;
scanf("%d",&n);
printf("输入一个有序数列:");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("要插入的数:");
scanf("%d",&x);
}
int m(int z)//函数名为m,负责对插入后的一串数进行排序
{
for(i=0;i<n;i++)
{
if(a[i]<a[i+1])//判断是升序还是降序
{
s=1;break;//升序
}
else
{
s=0;break;//降序
}
}
if(s==1)//升序
{
for(i=0;i<n;i++)
{
if(x<=a[i]) break;//找插入位置
}
for(j=n;j>i;j--)
{
a[j]=a[j-1];//给x腾出一个位置,并把后面的数向后移
}
a[i]=x;//插入x
}
if(s==0)//降序
{
for(i=0;i<n;i++)
{
if(x>=a[i]) break;//找插入位置
}
for(j=n;j>i;j--)
{
a[j]=a[j-1];//给x腾出一个位置,并把后面的数向后移
}
a[i]=x;//插入x
}
printf("插入数后的序列为:");
for(i=0;i<n+1;i++)
{
printf("%d ",a[i]);
}
}
int main()//主调函数
{
f(n);
m(i);
system("pause");
return 0;
}