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

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

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

**题目5
  在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。
  例:处理前 6012 5099 9012 7025 8088
  处理后 9012 6012 7025 8088 5099
  部分源程序存在文件prog1.c中。
  请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
  #include
  #include
  #include
  int aa[200],bb[10];
  void jsSort()
  {
  int i,j,data;
  for(i=0;i<199;i++)
  for(j=i+1;j<200;j++)
  if(aa%1000>aa[j]%1000||aa%1000==aa[j]%1000;;aa
  {data=aa;aa=aa[j];aa[j]=data;}
  for(i=0;i<10;i++)
  bb=aa;
  }
  void main()
  {
  readDat();
  jsSort();
  writeDat();
  }
  readDat()
  {
  FILE *in;
  int i;
  in=fopen(“in.dat”,“r”);
  for(i=0; i<200; i++) fscanf(in,“%d,”,;aa);
  fclose(in);
  }
  writeDat()
  {
  FILE *out;
  int i;
  clrscr();
  out=fopen(“out.dat”,“w”);
  for(i=0; i<10; i++){
  printf(“ %d”,bb);
  fprintf(out,“%dn”,bb);
  }
  fclose(out);
  }


喜欢0 评分0
游客

返回顶部