当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
2015年计算机等级考试二级c语言上机题库(二)
发布时间:2012/5/21 11:27:10 来源:城市网学院 编辑:ziteng
  在文件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[i]00>aa[j]00||aa[i]00==aa[j]00&&aa[i]
  {data=aa[i];aa[i]=aa[j];aa[j]=data;}
  for(i=0;i<10;i++)
  bb[i]=aa[i];
  } [NextPage]   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[i]);
  fclose(in);
  }
  writeDat()
  {
  FILE *out;
  int i;
  clrscr();
  out=fopen("out.dat","w");
  for(i=0; i<10; i++){
  printf(" %d",bb[i]);
  fprintf(out,"%d\n",bb[i]);
  }
  fclose(out);
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved