C/C++培训
达内IT学院
400-996-5531
在文件 in.dat 中有200个正整数,且每个数均在1000至9999之间。函数 ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。后调用函数 WriteDat()把结果bb输出到文件 out.dat 中。
例:处理前 9012 5099 6012 7025 8088
处理后 5099 8088 7025 6012 9012
注意:部分源程序已给出。 请勿改动主函数 main()、读数据函数 ReadDat()和输出数据函数 WriteDat()的内容。
#include<stdio.h> #include<string.h> #include<conio.h> 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]%1000<aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]>aa[j]) {data=aa[i];aa[i]=aa[j];aa[j]=data;} for(i=0;i<10;i++) bb[i]=aa[i]; } void main() { readDat(); jsSort(); writeDat(); system("pause"); } 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("i=%d,%d\n",i+1,bb[i]); fprintf(out,"%d\n",bb[i]); } fclose(out); }
免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved