当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015计算机等级考试三级数据库技术上机模拟题(一)
发布时间:2010/9/8 14:29:34 来源:www.xue.net 编辑:城市总裁吧

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

 

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved