#include <stdio.h>
int main(void)
{
int a[10];
int i,j,temp1,temp2,num,end;
printf("请输入十个数:\n");
for(i=0;i<10;i++)//输入10个数
{
scanf("%d",&a[i]);
}
end=a[9];//令最后一个给end 目的是下面判断插入的数跟最后一个数谁大谁小
printf("\n");
printf("输出10个数:\n");
for(i=0;i<10;i++)
{
printf("%d\t",a[i]);
}
printf("\n");
printf("请输入需要插入的数:\n");
scanf("%d",&num);
if(num>end)
{
a[10]=num;
}
else
for(i=0;i<10;i++)
{
if(a[i]>num)//a[i]比插入的数大的时候,a[i]就存放插入的数
{
temp1=a[i];
a[i]=num;
for(j=i+1;j<11;j++)//在a[i]之后,所有的数都往后移一位
{
temp2=a[j];
a[j]=temp1;
temp1=temp2;
}
break;//找到一次就跳出循环不再执行
}
}
printf("输出11个数:\n");
for(i=0;i<11;i++)
{
printf("%d\t",a[i]);
}printf("\n");
return 0;
}
有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中,已解决
最新推荐文章于 2023-01-03 18:16:10 发布