电话:0731-83595998
导航

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

来源: 2018-02-06 11:32

 "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);
 
  }

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端