灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2927回复:0

[三级考试]2012计算机等级考试三级网络技术上机100题(2)

楼主#
更多 发布于:2012-08-22 14:11

*题目2
  已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
  注意:部分源程序存在文件prog1.c中。
  程序中已定义数组:a[200],b[200],已定义变量:cnt
  请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。
  #include
  #define MAX 200
  int a[MAX], b[MAX], cnt = 0 ;
  void jsVal()
  { int i,j,qw,bw,sw,gw;
  for(i=0;i
  { qw=a/1000; bw=a/100%10;
  sw=a%100/10; gw=a%10;
  if(qw;;qw%2==0;;bw%2==0;;sw%2==0;;gw%2==0) b[cnt++]=a;
  }
  for(i=0;i
  for(j=i+1;j
  if(b
  }
  void readDat()
  {
  int i ;
  FILE *fp ;
  fp = fopen(“in.dat”, “r”) ;
  for(i = 0 ; i < MAX ; i++) fscanf(fp, “%d”, ;a) ;
  fclose(fp) ;
  }
  void main()
  {
  int i ;
  readDat() ;
  jsVal() ;
  printf(“满足条件的数=%dn”, cnt) ;
  for(i = 0 ; i < cnt ; i++) printf(“%d ”, b) ;
  printf(“n”) ;
  writeDat() ;
  }
  writeDat()
  {
  FILE *fp ;
  int i ;
  fp = fopen(“out.dat”, “w”) ;
  fprintf(fp, “%dn”, cnt) ;
  for(i = 0 ; i < cnt ; i++) fprintf(fp, “%dn”, b) ;
  fclose(fp) ;
  }


喜欢0 评分0
游客

返回顶部