2014全国计算机等级考试三级网络技术,2011计算机等级考试三级网络技术上机100题(1)(5)...

**题目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[i]%1000>aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]

{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();

}

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);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值