2016计算机三级考试试题网络技术精选试题(4)_第4页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2016年2月20日

  /*如果该数的千位数小于等于百位数,百位数小于等于十位数,十位数小于等于个位数,并且此4位数是偶数*/
  {
  b[cnt]=a[i]; /*则将该数存入数组b中*/
  cnt++; /*并且统计出满足条件的数的个数*/
  }
  }
  for(i=0;i<="" p="" *把数组b中的4位数按从小到大的顺序排列*="">
  for(j=i+1;j< p=""><>
  if(b[i]>b[j])
  {
  temp=b[i];
  b[i]=b[j];
  b[j]=temp;
  }
  }
  void readDat( )
  {
  int i;
  FILE *fp;
  fp=fopen( "in15.dat","r");
  for(i=0;i< p=""><>
  fscanf(fp,"%d",&a[i]);
  fclose(fp);
  }
  void main()
  {
  int i;
  readDat();
  jsVal();
  printf("满足条件的数=%d\n",cnt);
  for(i=0;i< p=""><>
  printf("%d\n",b[i]);
  writeDat();
  }
  void writeDat()
  {
  FILE *fp;
  int i;
  fp=fopen("out15.dat","w");
  fprintf(fp,"%d\n",cnt);
  for(i=0;i< p=""><>
  fprintf(fp,"%d\n",b[i]);
  fclose(fp);
  }
 4.已知数据文件IN16.DAT中存有300个4位数,并已调用读函数readDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数减百位数上数减十位数上的数减个位数上的数大于零的数的个数cnt,再把所有满足此条件的4位数依次存入数组b中,然后对数组b的4位数按从小到大的顺序进行排序,最后调用写函数writeDat()把数组b中的数输出到OUT16.DAT文件中。
  例如:9123,9-1-2-3>0,则该数满足条件,存入数组b中,且个数cnt=cnt+1。
  9812,9-8-1-2<0,则该数不满足条件,忽略。
  注意:部分源程序已给出。
  程序中已定义数组:a[300],b[300],已定义变量:cnt。
  请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
  #include
  int a[300],b[300],cnt=0;
  void readDat();
  void writeDat();
  void jsValue()
  {
  int i,j; /*定义循环控制变量*/
  int a1,a2,a3,a4; /*定义变量保存4位数的每位数字*/
  int temp; /*定义数据交换时的暂存变量*/
  for(i=0;i<300;i++) /*逐个取每一个4位数*/
  {

相关文章