就业数据资源平台
当前位置:首页 > 数据库技术
2011年计算机等级三级数据库上机题及答案(2)

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

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


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


  【答案】


  void encryptChar()


  { int i;


  char *pf;


  for (i=0; i

  { pf = str[i];


  while (*pf != 0)


  { if (*pf*11%256<=130 && *pf*11%256>32)


  *pf = *pf*11%256;


  pf++;


  }


  }


  }


  5.函数RData()实现从文件IN.dat中读取一篇英文文章存入到字符串数组str中,请编写函数DescSort(),其功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组str中,最后调用函数WData(),把结果str输出到文件OUT.dat中。原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。


  例如,原文:dAeBfC.


  CcbbAA


  结果:fedCBA.


  cbbCAA


  【答案】


  void DescSort(void)


  { int i, j, k, strl;


  char ch;


  for (i=0; i

  { strl = strlen(str[i]);


  for (j=0; j

  for (k=j+1; k

  if (str[i][j] < str[i][k])


  { ch = str[i][j];


  str[i][j] = str[i][k];


  str[i][k] = ch;


  }


  }


  }


  6函数RData()实现从文件IN.dat中读取一篇英文文章存入字符串数组original中,请编写StrCharMove()函数,其功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组original中。最后调用函数WData(),把结果original输出到文件OUT.dat中。


  原始数据文件存放的格式是:每行的宽度均小于80个字符(含标点符号和空格)。


  【答案】


  void StrCharMove(void)


  { int i, j, strl;


  for (i=0; i

  { strl = strlen(original[i]);


  for (j=0; j

  original[i][j] += original[i][j]>>4;


  }


  }

就业数据资源平台