编程题求解~
计算排序
已知数据文件IN.DAT中存有30个四位数,并已调用读函数readDat()把这些数存入数组a中,
轻便协议函数jsValue(),其功能是:求出千位数上的数减百位数上的数大于零的个数cnt,再
把所有满足此条件四位数依次存入数组b中,然后对数组b中四位数按从小到大的顺序进行排序
,
最后调用函数writeDat()把数组b中的数输出到OUT.DAT文件。
例如:9123 9-1>0 则该数满足条件存入数组b中,且个数cnt=cnt+1.
2319 1-9<0 则该数不满足条件忽略。
注意:部分源程序已给出。
程序中已经定义数组:a[30],b[30],已定义变量:cut。
请勿改动主函数main(),读数据函数ReadDat()和输出数据函数WriteDat()的内容。(文件路径
需要根据情况修改)
试题程序:
#include<stdio.h>
#include<conio.h>
int b[10000],cnt=0;
jsValue()
{
}
main()
{
int i,j=0;
clrscr();
jsValue();
for(i=0;i<cnt;i++)
{
printf("b[%d] ",i,b[i]);
if(i%6==0)printf("\n");
}
}
readDat()
{
FILE *in;
int i;
in=fopen("a:\\in.dat","r");
for(i=0;i<30;i++)
fscanf(in,"%d",&a[i]);
fclose(in);
}
writeDat(int count)
{
FILE *out;
int i;
out=fopen("a:\\out.dat","w");
/*clrscr(); */
fprintf(out,"%d\n",cnt);
for(i=0;i<cnt;i++){
fprintf(out,"%d\n",b[i]);
}
fclose(out);
}
把程序补充完成
空白部分是要填得内容。
谢谢高手啦。
我是没着了