当前位置:首页 > 全部子站 > IT > 等级考试

计算机等级考试2018年3月计算机三级数据库技术考试精选试题(8)

来源:长理培训发布时间:2018-02-06 11:32:35

 "2018年3月计算机三级数据库技术考试精选试题(8)"供考生参考。更多计算机等级考试模拟试题等信息请访问长职理培计算机等级考试网。

 
  1.已知数据文件IN39.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue( ),其功能是:求出这些4位数是素数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用函数writeDat()把数组b中的数输出到OUT39.DAT文件中。
 
  例如:5591是素数,则该数满足条件,存入数组b中,且个数cnt=cnt+1。
 
  9812是非素数,则该数不满足条件,忽略。
 
  注意:部分源程序已给出。
 
  程序中已定义数组:a[300],b[300],已定义变量:cnt。
 
  请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
 
  #include
 
  int a[300],b[300],cnt=0;
 
  void readDat();
 
  void writeDat();
 
  int isP(int m)
 
  {
 
  int i;
 
  for(i=2;i
 
  if(m%i==0) return 0;
 
  return 1;
 
  }
 
  void jsValue()
 
  {
 
  int i,j; /*定义循环控制变量*/
 
  int temp; /*定义数据交换是的暂存变量*/
 
  for(i=0;i< 300;i++) /*逐个取4位数*/
 
  if(isP(a[i])) /*如果该数为素数,则将该数存入数组b中*/
 
  {
 
  b[cnt]=a[i];
 
  cnt++; /*并统计满足条件的数的个数*/
 
  }
 
  for(i=0;i
 
  for(j=i+1;j
 
  if(b[i]>b[j])
 
  {
 
  temp=b[i];
 
  b[i]=b[j];
 
  b[j]=temp;
 
  }
 
  }
 
  void main()
 
  {
 
  int i;
 
  readDat();
 
  jsValue();
 
  writeDat();
 
  printf("cnt=%dn",cnt);
 
  for(i=0;i
 
  printf("b[%d]=%dn",i,b[i]);
 
  }
 
  void readDat()
 
  {
 
  FILE *fp;
 
  int i;
 
  fp=fopen("IN39.DAT","r");
 
  for(i=0;i< 300;i++)
 
  fscanf(fp,"%d,",&a[i]);
 
  fclose(fp);
 
  }
 
  void writeDat()
 
  {
 
  FILE *fp;
 
  int i;
 
  fp=fopen("OUT39.DAT","w");
 
  fprintf(fp,"%dn",cnt);
 
  for(i=0;i
 
  fprintf(fp, "%dn",b[i]);
 
  fclose(fp);
 
  }
 
  2.已知数据文件IN40.DAT中存有300个4位数,并已调用函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出这些4位数是素数的个数cnt,再求出所有满足此条件的4位数的平均值pjz1,以及所有不满足此条件的4位数的平均值pjz2,最后调用函数writeDat()把结果cnt,pjz1,pjz2,输出到out40.dat文件中。
 
  例如:5591是素数,则该数满足条件,计算平均值pjz1,且个数cnt=cnt+1。
 
  9812是非素数,则该数不满足条件,计算平均值pjz2。
 
  注意:部分源程序已给出。
 
  程序中已定义数组:a[300],b[300],已定义变量:cnt,pjz1,pjz2。
 
  请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
 
  #include
 
  int a[300], cnt=0;
 
  double pjz1=0.0,pjz2=0.0;
 
  void readDat();
 
  void writeDat();
 
  int isP(int m)
 
  {
 
  int i;
 
  for(i=2;i
 
  if(m%i==0) return 0;
 
  return 1;
 
  }
 
  void jsValue()
 
  {
 
  int i,n=0; /*定义循环控制变量和计数器变量*/
 
  for(i=0;i< 300;i++) /*逐个取4位数*/
 
  if(isP(a[i])) /*如果该数为素数*/
 
  {
 
  pjz1+=a[i]; /*将满足条件的数求和*/
 
  cnt++; /*统计满足条件的数的个数*/
 
  }
 
  else
 
  {
 
  pjz2+=a[i]; /*将不满足条件的数求和*/
 
  n++; /*统计不满足条件的数的个数*/
 
  }
 
  pjz1/=cnt; /*求满足条件的数的平均值*/
 
  pjz2/=n; /*求不满足条件的数的平均值*/
 
  }
 
  void main()
 
  {
 
  readDat();
 
  jsValue();
 
  writeDat();
 
  printf("cnt=%dn满足条件的平均值pjz1=%7.2lfn不满足条件的平均值pjz2=%7.2lfn",cnt,pjz1,pjz2);
 
  }
 
  void readDat()
 
  {
 
  FILE *fp;
 
  int i;
 
  fp=fopen( "in40.dat","r");
 
  for(i=0;i< 300;i++)
 
  fscanf(fp,"%d,",&a[i]);
 
  fclose(fp);
 
  }
 
  void writeDat()
 
  {
 
  FILE *fp;
 
  fp=fopen("out40.dat","w");
 
  fprintf(fp,"%dn%7.2lfn%7.2lfn",cnt ,pjz1,pjz2);
 
  fclose(fp);
 
  }

责编:吴维

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部