全国计算机等级三级考试《数据库技术》上机考试冲刺试卷
C语言程序设计题
1、 函数ReadDat()实现从文件in.dat中读取一篇英文文章存入到无符号字符串数组XX中;请编制函数ChA(),其函数的功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到第一个新的值,存入数组单元xx[i][0]中(其中:i是文章中的某行)。第二个字符的ASCII值加第三个字符的ASCII值,得到第二个新的值,存入数组单元xx[i][1]中。以此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的值,存放在原字符串对应的位置上,之后把已处理的字符串逆转后仍按行重新存入无符号字符串数组XX中。最后main()函数调用函数WriteDat()把结果XX输出到out.dat文件中。
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按它的ASCII值作以上处理。注意:部分源程序存放在test.c文件中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
2、 函数ReadDat()实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组XX中;请编制函数encryptChar(),按给定的替代关系对数组XX中的所有字符进行替代,其替代值仍存入数组)xx的对应的位置上,最后调用函数wmeDat()把结果xX输出到文件out.dat中。
替代关系:f(p)=p*11 mod256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则用 f(p)替代所对应的字符。
注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。
请勿改动住数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
3、 程序test.c的功能是:计算100以内满足以下条件的所有整数i的个数cnt以及这些i之和sum。条件:i,i+4,i+10都是素数,同时i+10小于100。请考生编写函数countvalue()实现程序要求,最后调用函数wfiteDAT()把结果cnt和sum输出到文件out.dat中。(数值l不是素数)
4、已知数据文件in.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVa(),其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数字),如果新组成的两个数ab-cd>=0且ab.cd<=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writcDat()把结果cnt以及数组b中符合条件的四位数输出到文件0ut.dat中。
5、 设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编写函数Josegh(void)实现此功能,并调用函数writeDat(),把结果P输出到文件out.dat中。
设n=100,s=1,m=10。
①将1到n个人的序号存入一维数组P中;
②若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;
③重复第②步直至圈中只剩下p[1]为止。
注意:部分源程序已经给出。
请勿改动主函数main()和输出数据函数writeDAT()的内容。
全国职称计算机考试速成过关系列套装:W .. 定价:¥133 优惠价:¥133.0 更多书籍 | |
全国职称计算机考试速成过关系列套装:W .. 定价:¥124 优惠价:¥124.0 更多书籍 |