2011三级数据库技术上机试题题目及答案汇编100题(最新)(8)

2019-04-22 23:12

for (i=0; i

59.函数RData()实现从文件IN.dat中读取一篇英文文章,存入到字符串数组original中;请编写函数encryptChar(),其功能是:按给定的替代关系对数组original中的所有字符进行替代后,仍存入数组original的对应的位置上。最后调用函数WData(),把结果original输出到OUT.dat文件中。

替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。

原始数据文件存放的格式是:每行的宽度均小于80个字符。

【答案】

void encryptChar() { int i; char *pf; for (i=0; i32) *pf = *pf*11%6; pf++; } } }

60.已知数据文件IN.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请编写函数diffVal(),其功能是:把一个四位数的千位数字上的值,减去百位数字上的值,再减去十位数字上的值,最后减去个位数字上的值,如果得出的值大于等于0且原四位数是奇数,则统计出满足此条件的个数count并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数writeDat(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。

【答案】 void diffVal()

{ int i, thou, hun, ten, data, j; for (i=0; i

hun = a[i]00/100; ten = a[i]0/10; data = a[i]; if ((thou-hun-ten-data>=0) && a[i]%2==1) { b[count] = a[i]; count++; } } for (i=0; i b[j]) { data = b[i]; b[i] = b[j]; b[j] = data; } }

61.已知在文件IN.dat中存有若干个(少于200个)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组number中。请编写函数CalValue(),其功能要求是:①求出文件中共有的正整数个数totNum;②求这些数右移1位后,产生的新数是奇数的数的个数totCnt以及满足此条件的这些数(右移前的值)的算术平均值totAve。最后调用函数writeDat()把所求的结果输出到OUT.dat文件中。

【答案】

void CalValue(void) { int i, data; for (i=0; i 0) totNum++; data = number[i]>>1; if (data%2) { totCnt++; totAve += number[i]; } } totAve /= totCnt; }

62.已知数据文件IN.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数

的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数均是偶数并且两个二位数中至少有一个数能被9整除,同时两个新数的十位数字均不为0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.dat文件中。

【答案】

void spellNum()

{ int i, thou, hun, ten, data, j; int ab, cd; for (i=0; i

63.在文件IN.dat中有200组数据,每组有3个数,每个数均是三位数。函数Rdata()读取这200组数据存放到结构数组aa中,请编写函数greatSort(),其功能是:要求在200组数据中找出条件为每组中的第1个数大于第2个数加第3个数的和,其中满足条件的组数作为函数greatSort()的返回值,同时把满足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第1个数加第3个数之和的大小进行升序排列(第1个数加第3个数的和均不相等),排序后的结果仍重新存入结构数组bb中。最后调用函数Wdata(),把结果bb输出到OUT.dat文件中。

【答案】 int greatSort()

{ int i, j, count = 0;

data val; for (i=0; i<200; i++) if (aa[i].x1 > aa[i].x2+aa[i].x3) { bb[count] = aa[i]; count++; } for (i=0; i bb[j].x1+bb[j].x3) { val = bb[i]; bb[i] = bb[j]; bb[j] = val; } return count; }

64.已知数据文件IN.dat中存有200个四位数,并已调用读函数rData()把这些数存入数组a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数一个是奇数,另一个为偶数,并且两个二位数中至少有一个数能被17整除,同时两个新数的十位数字均不为0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数count。最后main()函数调用写函数wData(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。

【答案】

void spellNum()

{ int i, thou, hun, ten, data, j; int ab, cd; for (i=0; i<200; i++) { thou = a[i]/1000; hun = a[i]00/100; ten = a[i]0/10; data = a[i]; if (data==0 || hun==0) continue; ab = 10*data+thou; cd = 10*hun+ten; if ((ab-cd)%2!=0 && (ab*cd)==0) { b[count] = a[i]; count++; } }

for (i=0; i

65.已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffCal(),其功能是:把一个四位数的个位数字上的值减去千位数字上的值,再减去百位数字上的值最后减去十位数字上的值,如果得出的值大于等于0且原四位数是偶数,则统计出满足此条件的数的个数count,并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数Wdata(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。

【答案】 void diffCal()

{ int i, thou, hun, ten, data, j; for (i=0; i=0 && a[i]%2!=1) { b[count] = a[i]; count++; } } for (i=0; i b[j]) { data = b[i]; b[i] = b[j]; b[j] = data; } }

66.已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数NumCal(),其功能是:求出千位上的数加个位上的数等于百位上的数加十位上的数的四位数的个数count,再求出所有满足此条件的四位数的平均值Ave1,以及不满足此条件的四位数的平均值Ave2。最后调用写函数Wdata(),把结果输出到OUT.dat文件中。 例如,6712,6+2=7+1,则该数满足条件计算平均值Ave1,且个数count=count+1。8129,8+9!=1+2,则该数不满足条件计算平均值Ave2。


2011三级数据库技术上机试题题目及答案汇编100题(最新)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:施工组织设计1

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: