提高第26课时,实践1,项目1-有序数组中插入数据(函数版)

/*
*Copyright(c) 2015/5/17 CSDN博客
*All rights reserved.
*文件名称:main.c
*作    者:金叶
*完成日期:2015/5/17
*版本号:V1.0
*问题描述:项目1-有序数组中插入数据(函数版)
有一个足够“大”的数组a,其中已经存储了n个呈升序排列的数据。调用函数insert(a, n, m),
可以将数m插入到a中的合适位置,使其仍然保持升序,并且返回值为数组中有效数字的个数(即原先的n加1)。
  例如,若a中数据为1 7 8 17 23 24 59 62 101,n=9,需要插入的数字m为50,调用函数insert(a, n, m)后,
a中数据为1 7 8 17 23 24 50 59 62 101,n=10。
  下面给出了调用函数insert的main函数,请写出insert函数来,实现上述功能。
*/

#include <stdio.h>
#define N 100

int insert(int a[],int n,int m)
{
    int i=n;
    while (i>6)
    {
        a[i]=a[i-1];
        i--;
    }
    a[i]=m;
    n++;
    return n;

}

int main()
{
    int a[N]= {1, 7, 8, 17, 23, 24, 59, 62, 101};
    int i, n=9;
    int m =50;
    n = insert(a, n, m);   //在长度为n的a数组中插入m,使仍保持有序
    for(i=0; i<n; ++i)
        printf("%d ", a[i]);
    printf("\n");
    return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值