a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 33|回复: 0

[数据库] 2011年计算机等级三级数据库上机题及答案(21)

[复制链接]
发表于 2012-7-31 21:12:12 | 显示全部楼层 |阅读模式
  61.已知在文件IN.dat中存有若干个(少于200个)四位数字的正整数,函数ReadDat()读取这若干个正整数并存入数组number中。请编写函数CalValue(),其功能要求是:①求出文件中共有的正整数个数totNum;②求这些数右移1位后,产生的新数是奇数的数的个数totCnt以及满足此条件的这些数(右移前的值)的算术平均值totAve。最后调用函数writeDat()把所求的结果输出到OUT.dat文件中。
+ p$ w# ~0 J6 M) M: m" Y  【答案】& W1 A/ C% I$ p! r$ W: D, a( u7 I3 p
  void CalValue(void)
4 U$ ~% o6 ~' f  { int i, data;" s& q, H" V$ z. p3 ?
  for (i=0; i 0)6 F) m% ?4 t/ n: E# y) {! @
  totNum++;/ ^+ F2 K& ^) j4 u9 R" ?! C
  data = number>>1;# E8 e0 p1 E2 i9 ^' [
  if (data%2)
- r1 O( r5 z5 ~9 x( a' a" q4 ?  { totCnt++;% A; Z* G# f9 [. t% r# O
  totAve += number;
9 K9 Z! z0 }, m+ P" v% R* [# A  }" v" _1 E; h4 E: a
  }6 v  e3 @0 k+ ?* F7 `7 ]6 |
  totAve /= totCnt;
$ A  V$ \' N: G/ l+ C6 F+ `+ i/ \  }
& x0 `6 y6 W8 v% a* g  62.已知数据文件IN.dat中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请编写函数spellNum(),其功能是:把个位数字和千位数字重新组成一个新的二位数(新二位数的十位数字是原四位数的个位数字,新二位数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的二位数(新二位数的十位数字是原四位数的百位数字,新二位数的个位数字是原四位数的十位数字),如果新组成的两个二位数均是偶数并且两个二位数中至少有一个数能被9整除,同时两个新数的十位数字均不为0,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat(),把结果cnt以及数组b中符合条件的四位数输出到OUT.dat文件中。  |" r) I7 u+ i' _( {
  【答案】* z' h  ]) u' g
  void spellNum()+ g: b! J1 T$ ^6 Z2 _. g, W
  { int i, thou, hun, ten, data, j;) W0 C3 K% e" y5 J0 @$ r% `
  int ab, cd;- h! y: a; C  n
# L+ w5 o- r* Z! F
  for (i=0; i
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-18 01:29 , Processed in 0.244271 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表