a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 37|回复: 0

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

[复制链接]
发表于 2012-7-31 21:12:12 | 显示全部楼层 |阅读模式
 22.下列程序的功能是:把str字符串中的所有字母改写成该字母的下一个字母,字母z改写成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。  请编写函数CharChange(char*str)实现程序要求,最后调用函数RWData()从IN.dat文件中读取50组数据,分别得出结果,并把结果输出到文件OUT.dat中。2 K( h, j5 c0 A/ o' V7 C1 l+ |
  例如,str字符串中原有的内容为:Mn.123Zxy,则调用该函数后,结果为:No.123Ayz。
- s4 Z3 j1 C! z3 _% m  【答案】+ J* |9 A3 A2 @& f6 H+ [4 g7 S* `5 o
  void CharChange(char *str)
; @2 V% l9 K- @% s) t4 x  { while (*str)
' K# D. \# S5 U9 X2 J7 }7 M- n  { if (*str=='z' || *str=='Z')4 R; i  n' z7 W  V+ m4 M1 E& @
  *str -= 25;5 o, p" b, k. m9 h( N1 T
  else if (isalpha(*str))) J" `' D9 O. n0 g6 A
  *str += 1;
3 ^; D* j4 _5 ?) l  str++;5 V) j) B0 D! a- _3 w' k. u# U
  }
0 U# D1 E  U( U$ H: A, {7 U8 W  }
( A( u) F: E( ]6 Z3 `3 N  23.已知在文件IN.dat中存有100个产品销售记录,每个产品销售记录由产品代码code(字符型4位)、产品名称name(字符型10位)、单价uprice(整型)、数量amount(整型)、金额sum(长整型)5部分组成。其中,金额=单价×数量。函数RData()读取这100个销售记录并存入结构数组sell中。请编写AscendSort()函数,其功能是:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中。最后调用函数WData(),把结果输出到文件OUT.dat中。. h: Y' ?: ]- T3 k3 O2 V  |
  【答案】, D; E2 o5 c3 Q% y
  void AscendSort()9 v! r/ z: M* L* ?! q
  { int i, j;
" e7 K$ @( s9 ^% Y$ p% d  PRO temp;2 i. u. i2 Y7 {: @# x- c7 L% d
  for (i=0; i sell[j].sum)  a, O0 {/ T& B' l. [
  { temp = sell;4 H% o& `1 Y3 @6 `# c4 `
  sell = sell[j];
. C4 `# N" x' w0 ~; {' b9 }+ O" Q+ l  sell[j] = temp;9 `$ R; e1 M' P8 |  ]+ U! {4 q
  }! \. f+ i. Y' h  ~
  }
# A3 h" H# g" |# r" T! n  }3 ]+ B. l  Q) d0 u" X- {/ t" j
  24.已知数据文件IN.dat中存有200个四位数,并已调用读函数RData()把这些数存入数组a中,请编写函数evenVal(),其功能是:若一个四位数的千位上的数字值小于等于百位上的数字值,百位上的数字值小于等于十位上的数字值,以及十位上的数字值小于等于个位上的数字值,并且该四位数是偶数,则统计出满足此条件的个数count,并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数WData(),把结果count以及数组b中符合条件的四位数输出到OUT.dat文件中。( {! d& F; m) Z4 J) b
  程序中已定义数组a[200],、b[200],已定义变量count。* e+ {1 b% l6 O5 @9 {7 A2 E
  【答案】
& R5 K5 u1 [: u9 F, q' N2 t# c  void evenVal()
7 {3 l# W/ }* E& r9 Y  { int i, j;
* p( z  J- |( t0 H  int a1, a2, a3, a4, k;- A5 u  t7 E6 e: F/ [9 Y& M

4 ?' l5 `1 t8 B6 v7 c2 t8 n3 B* D  for (i=0; i
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-27 04:36 , Processed in 0.236678 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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