将一个数插入已排好序的数组,该数按照原来数组进行排序

最近练习到一个程序题,该题要求是将一个已排好序的数组,要求输入一个数后,按照原来排序的规律将它插入数组中。

#include <stdio.h>

int main()
{
 int i,j;
 int k,q;

 scanf("%d",&k); //输入一个数

 int a[10]={0,2,4,6,9,}; //初始化数组
  int b[10];//用于存放a数组的中的值
  for(i=0;i<10;i++)
     b[i]=a[i];

  for(i=0;i<10;i++)
    {if(k>a[i]&&k<a[i+1])  //比较输入的数在数组哪个位置中
       {  q=i+1; 
         a[q]=k; //将输入的数插入数组中
      for(j=q+1;j<10;j++)   // 利用b数组将后面的数写入a数组
         a[j]=b[j-1];
       }
    }


  for(i=0;i<10;i++) //插入后输出数组
    printf("%3d",a[i]);

本程序的主要是利用了两个数组,一个数组确定下该数的位置,并将该数插入,其后面的利用b数组依次写入,这样实现了一个数在数组中的插入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值