请补充函数proc(),该函数的功能是把数组num中的数按从小到大的顺序排列(数组元素个数及值从主函数中输入)。
例如,输入n=5,num[0]~num[4]依次为5 7 2 8 0,结果为0 2 5 7 8。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
第1题:
请编写函数proc(),函数的功能是求出二维数组周边元素之和,作为函数值返回。二维数组中的值在主函数中赋予。
则函数值为59。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
【解析】要求二维数组周边元素之和,首先应该判断数组中的每一个元素是否是周边元素。找出所有的周边元素后求和,返回给主函数。周边元素的下标特点为行或列的下标为。或N—1。根据此特点,找出所有的周边元素然后求和。
第2题:
程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(int a[][M],int n),该函数的功能是使数组左下半三角元素中的值加上n。例如,a数组中的值为:
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
【解析】使数组左下半三角元素中的值加上n,首先要找出数组中下半三角元素。数组中下半三角元素的特点是,其列下标小于等于行下标。根据这个特点找出所有的下半三角元素再加上n放在原来的位置上。
第3题:
已知数据文件IN37.DAT中存有200个4位数,并已调用读函数readDat( )把这些数存入数组a中,请编制一函数jsVal(),其功能是:依次从数组a中取出一个4位数,如果该4位数连续大于该4位数以前的5个数且该数是偶数(该4位数以前不满5个数,则不统计),则统计出满足此条件的数个数cnt并把这些4位数按从大到小的顺序存入数组b中,最后调用写函数writeDat()把结果cnt及数组b中符合条件的4位数输出到文件OUT37.DAT中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main( )、读函数readDat()和写函数writeDat( )的内容。
第4题:
数组xx[M]保存着一组4位无符号整数,其元素的个数通过变量num传人函数proc()。请补充函数proc(),该函数的功能是:从数组XX中找出个位和百位上的数字相等的所有无符号整数,结果保存在数组yy中,其个数由函数proc()返回。
例如,当xx[8]={1111 2413 2321 2222 4245 3333 14145335)时,yy[6]={1111 2222 3333 1414}。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc的横线上填入所编写的若干表达式或语句。
试题程序:
【1】xx[i]%101【2】yy[n++]=xx[i]【3】n
【解析】要找出个位和百位上的数字相等的所有无符号整数,首先要得到数组xx中每一个元素的个位和百位数字,然后进行比较。因此,【1】处填xx[i]%10。当个位和百位相等时,把数组xx中的该元素放到数组yy中。因此,【2】处填yy[n++]=xx[i]。由函数proc()可知,数组yy的个数存放在变量n中,最后返回到主函数当中。因此,【3】处填n。
第5题:
已知IN2.DAT中存有200个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数 jsVal(),其功能是:依次从数组a中取出一个数,如果该4位数连续大于该4位数以后的5个数且该数是奇数,则统计出满足此条件的数的个数cnt,并把这些4位数按从小到大的顺序存入数组b中,最后调用写函数 writeDat() 把结果cnt及数组b中符合条件的4位数输出到 OUT2.DAT文件中。
注意:部分源程序已给出。
程序中已定义数组:a[200],b[200],已定义变量:cnt。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。