计算机等级:7道经典C语言上机试题解析

文章作者 100test 发表时间 2007:09:15 13:01:11
来源 100Test.Com百考试题网


  函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中.请编制函数encryptChar(),按行优先把所有的小写字母替换成它前面的字母其它不变,a换成z,例如:Aabm.() 输出 Azal.() 最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。

  部分源程序已给出,原始数据文件存放的格式是:每行的宽度均小于80个字符。

  请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。

以下是引用片段:
  #include
  #include
  #include
  #include
  unsigned char xx[50][80].
  int maxline=0./*文章的总行数*/
  int ReadDat(void)
  void WriteDat(void)
  void encryptChar()
  {
  }
  void main()
  {
  clrscr().
  if(ReadDat()){
  printf("数据文件ENG.IN不能打开!/n/007").
  return.
  }
  encryptChar().
  WriteDat().
  }
  int ReadDat(void)
  {
  FILE *fp.
  int i=0.
  unsigned char *p.
  if((fp=fopen("eng.in","r"))==NULL) return 1.
  while(fgets(xx[i],80,fp)!=NULL){
  p=strchr(xx[i],/n).
  if(p)*p=0.
  i .
  }
  maxline=i.
  fclose(fp).
  return 0.
  }
  void WriteDat(void)
  {
  FILE *fp.
  int i.
  fp=fopen("ps10.dat","w").
  for(i=0.i
  printf("%s/n",xx[i]).
  fprintf(fp,"%s/n",xx[i]).
  }
  fclose(fp).
  }

  解:

以下是引用片段:
  void encryptChar()
  {int i,j.
  for (i=0.i<50.i )
  for (j=0.j<80.j )
  if (xx[i][j]==a) xx[i][j]=z.
  else (xx[i][j]>=b&.&.xx[i][j]<=z) xx[i][j]-=1.
  }



相关文章


在Acce 中实现密码管理的另一种方式
VB中利用API函数实现屏幕颜色数设定
VB实现文字“闪入”显示的特殊效果
C 程序设计从零开始之何谓
计算机等级:7道经典C语言上机试题解析
使用Office2007前需要做的准备工作
天津:2007年下半年全国计算机等级考试开始报名
全国计算机等级考试调整方案(07年5月发布)
谨防被“X之门”病毒窃取机密信息
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛