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

2019-04-22 23:12

b[j] = flag; } }

43.已知在文件IN.dat中存有100个产品销售记录,每个产品销售记录由产品代码code(字符型4位)、产品名称name(字符型10位)、单价uprice(整型)、数量amount(整型)、金额sum(长整型)5部分组成。其中:金额=单价×数量。函数RData()读取这100个销售记录并存入结构数组sell中。请编写函数SortDat(),其功能是:按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中。最后调用函数WData(),把结果输出到OUT.dat文件中。

【答案】

void SortDat() { int i, j; PRO temp; for (i=0; i 0) { temp = sell[i]; sell[i] = sell[j]; sell[j] = temp; } } }

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

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

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

【答案】

void encryptChar() { int i; char *pf; for (i=0; i

{ pf = str[i]; while (*pf != 0) { if ((*pf*11%6>='a' && *pf*11%6<='z') || *pf*11%6<=32) { pf++; continue; } *pf = *pf*11%6; pf++; } } }

45.已知数据文件IN.dat中存有300个四位数,并已调用读函数RData()把这些数存入数组a中,请编写函数spellVal(),其功能是:求出千位上的数加个位上的数等于百位上的数加十位上的数的个数count,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后调用写函数WData(),把结果输出到OUT.dat文件中。 例如,6712,6+2=7+1,则该数满足条件存入数组b中,且个数count=count+1。8129,8+9!=1+2,则该数不满足条件,不存入数组b中,count变量也不加1。

【答案】 void spellVal()

{ int i, thou, hun, ten, data, j; for (i=0; i<300; i++) { thou = a[i]/1000; hun = a[i]00/100; ten = a[i]0/10; data = a[i]; if (thou+data == hun+ten) { b[count] = a[i]; count++; } } for (i=0; i b[j]) { data = b[i]; b[i] = b[j]; b[j] = data; } }

46.已知数据文件IN.dat中存有300个四位数,并已调用读函数RData()把这些数存入数组a中,请编写函数diffVal(),其功能是:求出千位上的数减百位上的数减十位上的数减个位上

的数大于0的个数count,再求出所有满足此条件的四位数的平均值ave1,以及不满足此条件的四位数的平均值ave2。最后调用写函数WData(),把结果输出到OUT.dat文件中。 例如,9123,9-1-2-3>0,则该数满足条件,计算平均值ave1,且个数count=count+1。9812,9-8-1-2<0,则该数不满足条件,计算平均值ave2。

【答案】 void diffVal()

{ int i, thou, hun, ten, data, n = 0; for (i=0; i<300; i++) { thou = a[i]/1000; hun = a[i]00/100; ten = a[i]0/10; data = a[i]; if (thou-hun-ten-data > 0) { count++; ave1 += a[i]; } else { n++; ave2 += a[i]; } } ave1 /= count; ave2 /= n; } 47.

已知数据文件IN.dat中存有200个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数spellNum(),其功能是:把千位数字和十位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的千位数字,新二位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的百位数字),如果新组成的两个二位数均是素数且新数的十位数字均不为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 (thou==0 || data==0) continue; ab = 10*thou+ten; cd = 10*data+hun; if (isprime(ab) && isprime(cd)) { b[count] = a[i]; count++; } } for (i=0; i

48.设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请编写函数Josegh()实现此功能,并调用函数WriteDat(),把结果p输出到OUT.dat文件中。 设n=100,s=1,m=10。

①将1到n个人的序号存入一维数组p中;②若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;③重复第②步直至圈中只剩下p[1]为止。

【答案】

void Josegh(void) { int i, j, s1, w; s1 = s; for (i=1; i<=n; i++) p[i-1] = i; for (i=n; i>=2; i--) { s1 = (s1+m-1)%i; if (s1 == 0) s1 = i; w = p[s1-1]; for (j=s1; j<=i-1; j++) p[j-1] = p[j]; p[i-1] = w; } }

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

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

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

【答案】

void encryptChar() { int i; char *pf; for (i=0; i='A' && *pf*11%6<='Z') || *pf*11%6<=32) { pf++; continue; } *pf = *pf*11%6; pf++; } } }

50.已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数diffNum(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于0的个数count,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后调用写函数Wdata(),把结果输出到OUT.dat文件中。 例如,9123,9-1-2-3>0,则该数满足条件存入数组b中,满足条件count加1。9812,9-8-1-2<0,则该数不满足条件,count不变。

【答案】

void diffNum()

{ int i, thou, hun, ten, data, j; for (i=0; i<300; i++) { thou = a[i]/1000; hun = a[i]00/100; ten = a[i]0/10; data = a[i]; if (thou-hun-ten-data > 0)


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

下一篇:施工组织设计1

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

马上注册会员

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