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

10.已知数据文件IN.dat中存有300个四位数,并已调用读函数Rdata()把这些数存入数组a中,请编写函数primeNum(),其功能是:求出所有这些四位数中素数的个数count,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后调用写函数Wdata(),把结果输出到OUT.dat文件中。

  例如,5591是素数,则该数满足条件存入数组b中,且个数count=count+1。9812是非素数,则该数不满足条件,不存入数组b中,count值也不加1。


  【答案】


  void primeNum()


  { int j, i, value;


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


  if (isP(a[i]))


  { b[count] = a[i];


  count++;


  }


  for (i=0; i

  for (j=i+1; j

  if (b[i] > b[j])


  { value = b[i];


  b[i] = b[j];


  b[j] = value;


  }


  }


  11.下列程序的功能是:把s字符串中的所有字符左移一个位置,字符串中的第一个字符移到最后。请编写函数change(char*s)实现程序要求,最后调用函数readwriteDAT()从IN.dat文件中读取50组数据,分别得出结果,且把结果输出到OUT.dat文件中。


  例如,s字符串中原有内容为:Mn.123xyZ,调用该函数后结果为:n.123xyZM。


  【答案】


  void change(char*s)


  { int i, strl;


  char ch;


  strl = strlen(s);


  ch = *s;


  for (i=0; i

  *(s+i) = *(s+i+1);


  *(s+strl-1) = ch;


  }


  12.下列程序的功能是:找出所有100以内(含100)满足i、i+4、i+10都是素数的整数i(i+10也在100以内)的个数count以及这些i之和sum。请编写函数primeNum()实现程序要求的功能,最后调用函数writeDat(),把结果count和sum输出到文件OUT.dat中。


  【答案】


  void primeNum()


  { int i;


  for(i=2;i<=90;i++)


  if(isPrime(i) && isPrime(i+4) && isPrime(i+10))


  { count++;


  sum+=i;


  }


  }

就业数据资源平台