计算机等级考试三级网络技术上机模拟试题

学人智库 时间:2018-02-10 我要投稿
【www.unjs.com - 学人智库】

  【一】

  第1题

  在数据文件in.dat中有200个正整数,且每个数都在1000至9999之间。函数readDat()是读取这200个数存放到数组 aa中。请编制函数isSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,如果出现后三位相等的数值,则对这些数值按原始4位数据进行降序排列,将排序后的前10个数存入数组bb中。最后调用函数writeDat()把结果bb输出到文件out.dat中。

  例:处理前60125099901270258088

  处理后 90126012702580885099

  注意:部分源程序存在test.c文件中。

  请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

  第2题

  函数ReadDat()实现从文件in.dat中读取一篇英文文章存入到字符串数组xx中;请编制函数CharConvA(),其函数的功能是:以该文章中的行为单位把字符串中的最后一个字符的ASCII值右移4位二进制位,高位补0后加倒数第二个字符的 ASCII值,得到最后一个新的值,倒数第二个字符的ASCII值右移4位二进制位,高位补0后加倒数第三个字符的ASCII值,得到倒数第二个新的值,以此类推一直处理到第二个字符。注意:第一个新的值与上述处理不同,第一个字符的ASCII值加原最后一个字符的ASCII值,得到第一个新的值。得到的新值分别存放在原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件out.dat中。

  原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按字符处理。

  注意:部分源程序存放在test.c文件中。

  请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

  第3题

  已知数据文件in.dat中存有300个四位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后main()函数调用写函数writeDat()把数组b中的数输出到文件out.dat中。

  例如:6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。

  8129,8+91=1+2,则该数不满足条件忽略。

  注意:部分源程序存在test.c文件中。

  程序中已定义数组:a[300],b[300],已定义变量:cnt

  请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。

  【二】

  第1题

  已知数据文件in.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数字),如果新组成的两个数ab-cd>=0且ab-cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到文件out.dat中。

  注意:部分源程序存在test.c文件中。

  程序中已定义数组:a[200],b[200],已定义变量:cnt

  请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。