C语言有一个已经排好序的数组,要求输入一个数后,按原来的排序规律将它插入数组中。 我应该怎么尽量在原有代码上修改才对?

问题描述:

#include "stdio.h"
int main()
{int a[5]={2,4,6,8};
int x,i=0,j=0;
printf("请输入一个数:");
scanf("%d",&x);
for(i=0;i<=3;i++)
{if(x<a[i])
break;
}

for(i=0;i<=5;i++)
{printf("%d ",a[i]);
}
return 0;
}

我也是新手,愿意互相帮助,也希望采纳,

#include <stdio.h>
int main()
{
     int a[5]={2,4,6,8};
     int i,k,temp;
     printf("请输入一个数:");
     scanf("%d",&a[4]);//直接将输入数据插入到最后

     for(k=0;k<=3;k++)
    {   if(a[4]<a[k])
        break;
    }//采用循环检测出应该插入的位置
     for(i=4;i>=k;i--)
     {
         if(a[i]<a[i-1])
         {
             temp= a[i];
             a[i] = a[i-1];
             a[i-1] = temp;
         }
     }
     //遍历打印
    for(i=0;i<5;i++)
   {
       printf("%d ",a[i]);
   }
  return 0;
 }

希望采纳,谢谢!

直接将后续的数据往后移动即可,如果还不理解,采纳后详细回答你,因为你的信用是空白。