当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机二级C语言50套程序填空上机题(18)
发布时间:2011/11/1 9:34:52 来源:城市学习网 编辑:ziteng

  18、函数fun的功能是:把形参a所指数组中的最小值放在元素a[0]中,接着把形参a所指数组中的最大值放在a[1]元素中;再把a所指数组元素中的次小值放在a[2]中,把a所指数组元素中的次大值放在a[3];其余以此类推。例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参n中存放a所指数组中数据的个数。

  注意:规定fun函数中的max存放当前所找的最大值,px存放当前所找最大值的下标。

  请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

  注意:源程序存放在考生文件夹下的BLANK1.C中。

  不得增行或删行,也不得更改程序的结构!

  # include    

  #define    N    9

  void fun(int  a[], int  n)

  {  int  i,j, max, min, px, pn, t;

     for (i=0; i     {

  /**********found**********/

        max = min = ___1___;

        px = pn = i;

        for (j=i+1; j  /**********found**********/

           if (max<___2___)

           {   max = a[j]; px = j;  }

  /**********found**********/

           if (min>___3___)

           {   min = a[j]; pn = j;  }

        }

        if (pn != i)

        {  t = a[i]; a[i] = min; a[pn] = t;

           if (px == i) px =pn;

        }

        if (px != i+1)

        {  t = a[i+1]; a[i+1] = max; a[px] = t; }

     }

  }

  main()

  {  int  b[N]={9,1,4,2,3,6,5,8,7}, i;

     printf("\nThe original data  :\n");

     for (i=0; i     printf("\n");

     fun(b, N);

     printf("\nThe data after moving  :\n");

     for (i=0; i     printf("\n");

  }

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved