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

函数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;


  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);


  for (j=0; j

  for (k=j+1; k

  if (str < str)


  { ch = str;


  str = str;


  str = 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);


  for (j=0; j

  original += original>>4;


  }


  }

就业数据资源平台