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

 13.函数Rdata()实现从文件IN.dat中读取一篇英文文章存入到字符串数组string中,请编写ConvertCharD()函数,其功能是:以行为单位把字符串中的所有小写字母改写成该字母的上一个字母,如果是字母a,则改写成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变,最后把已处理的字符串仍按行重新存入字符串数组string中。最后调用函数Wdata(),把结果string输出到文件OUT.dat中。

  例如,原文:Adb.Bcdza


  abck.LLhj


  结果:Aca.Bbcyz


  zabj.LLgi


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


  【答案】


  void ConvertCharD(void)


  { int i;


  char *pf;


  for (i=0; i

  { pf = string[i];


  while (*pf)


  { if (*pf == 'a')


  *pf = 'z';


  else if (*pf>='b' && *pf<='z')


  *pf -= 1;


  pf++;


  }


  }


  }


  14.请编写函数countValue(),它的功能是:求出1~1000之内能被7或11整除但不能同时被7或11整除的所有整数,将它们放在数组a中,并通过n返回这些数的个数。主函数最后调用函数Wdata()把计算结果输出到OUT.dat中。


  【答案】


  void countValue(int *a, int *n)


  { int i;


  *n = 0;


  for (i=1; i<=1000; i++)


  if (i%7==0 && i%11)


  { *a = i;


  *n = *n+1;


  a++;


  }


  else if (i%7 && i%11==0)


  { *a = i;


  *n = *n+1;


  a++;


  }


  }


  15.已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数primeCal(),其功能是:求出这些四位数中素数的个数count,再求出所有满足此条件的四位数的平均值Ave1以及不满足此条件的四位数的平均值Ave2。最后调用写函数Wdata(),把结果count、Ave1、Ave2输出到OUT.dat文件中。


  例如,5591是素数,则该数满足条件计算平均值Ave1,且个数count=count+1。9812是非素数,则该数不满足条件计算平均值Ave2。


  【答案】


  void primeCal()


  { int i;


  for (i=0; i<300; i++)


  if (isP(a[i]))


  { Ave1 += a[i];


  count++;


  }


  else


  { Ave2 += a[i];


  }


  Ave1 = Ave1/count;


  Ave2 = Ave2/(300-count);


  }

就业数据资源平台