三级机试题库(附答案)
1、已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数大于该四位数以后的连续五个数且该数是偶数(该四位数以后不满五个数,则不统计), 则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cnt
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
2、在文件in.dat中已存有200个正整数, 且每个数均在1000至9999之间。函数readDat()是读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是: 要求按每个数的后三位的大小进行降序排列,如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排列,将排
序后的前10个数存入数组bb中。最后调用函数writeDat()把结果bb输出到文件out.dat中。
例: 处理前 90125099601270258088
处理后 50998088702560129012
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
3、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到无符号字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,其替代值仍存入数组xx所对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。
替代关系:f(p)=p*11mod256, mod为取余运算,p是数组xx中某一个字符的ASCII值, f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量), 如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不变,否则用f(p)替代所对应的字符。
注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
4、已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位), 产品名称mc(字符型10位), 单价dj(整型), 数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列, 若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。
提示: 若中间变量为PROtemp, 则可以直接使用结构赋值语句进行解题;产品名称比较请用函数strcmp进行解题。
例如: sell[i] = temp ;
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
5、已知在IN.DAT中存有若干个(个数<200)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组xx中。请编制函数CalValue(), 其功能要求: 1.求出这文件中共有多少个正整数totNum;2.求出这些正整数中的各位数字之和是奇数的数的个数totCnt, 以及满足此条件的这些正整数的算术平均值totPjz。最后main()函数调用函数WriteDat()把所求的结果输出到OUT.DAT文件中。
注意: 部分源程序存放在PROG1.C中。
请勿改动数据文件IN.DAT中的任何数据,主函数main()、读函数ReadDat()和输出数据函数WriteDat()的内容。
6、将文件IN.DAT中的200个整数读至数组xx中。请编制jsValue()函数, 要求:求出数组xx中的最大数max及最大数的个数cnt和数组xx中的元素值能被3整除或能被7整除的所有数的算术平均值pj。 结果max, cnt, pj输出到OUT.DAT中。
注意:部分源程序存在文件PROG1.C文件中。
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数read_dat()和输出函数writeDat()的内容。
7、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx对应的位置上, 最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。
字符串处理函数 如果是a展示b 替代关系:f(p)=p*11mod256, mod为取余运算,p是数组xx中某一个字符的ASCII值, f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量), 如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变, 否则用f(p)替代所对应的字符。
注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。
请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。
8、函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到无符号字符串数组xx中; 请编制函数ChA( ), 其函数的功能是: 以该文章中的行为单位把字符串中的所有字符的二进制AS
CII值右移4位, 高位补0, 然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到OUT.DAT文件中。
原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号和空格, 并也按它的ASCII值作以上处理。
例如:
"z"对应的ASCII值为7AH,二进制值为01111010, 右移4位后为 00000111,加上原来"z"的ASCII值01111010得到10000001结果。
注意: 部分源程序存放在PROG1.C中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
9、已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数, 并且已调用读函数readDat()把这两个文件中的数存入数组a和b中,请考生编制一个函数jsVal(), 实现的功能是
依次对数组a和b中的数按条件重新组成一个新数并依次存入数组c中,再对数组c中的数按从小到大的顺序进行排序,最后调用输出函数writeDat()把结果c输出到文件OUT.DAT中。
组成新数的条件: 如果数组a和b中相同下标位置的数必须符合一个是偶数,另一个是奇数,则数组a中的数按二进制数左移八位后再加上数组b对应位置上的数, 把这样组成的新数依次存入数组c中。
例如:a: 1233241521
b: 32 35 17 15 18
c: 6161 5394
排序后c: 53946161
注意: 部分源程序存在文件PROG1.C文件中。
程序中已定义: a[100]、b[100]和c[100]。
请勿改动数据文件IN1.DAT和IN2.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
10、函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx对应的位置上, 最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。
替代关系:f(p)=p*11mod256, mod为取余运算,p是数组xx中某一个字符的ASCII值, f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量), 如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变, 否则用f(p)替代所对应的字符。
注意: 部分源程序存放在PROG1.C中, 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。
请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。
11、函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数SortCharD(), 其函数的功能是: 以行为单位对字符按ASCII码从大到小的顺序进行排序,
排序后的结果仍按行重新存入字符串数组xx中。最后main()函数调用函数WriteDat()把结果xx输出到文件OUT.DAT中。
例: 原文: dAe,BfC.
CCbbAA
结果: fedCBA.,
bbCCAA
原始数据文件存放的格式是: 每行的宽度均小于80个字符, 含标点符号和空格。
注意: 部分源程序存放在PROG1.C中。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论