有一个文件名为num.txt的文本文件,里面有1千万个随机数,这些数字的大小在0~1亿之间,存储方式如下:
5422232
23232
45
4345232
676575
.......
23232
45
4345232
676575
.......
要求:
1.写一个程序来读取这个文件中的数字,并从大到小排序后以上面的格式存储为 num_b.txt
2.内存占用不可超过1MB
注意:
不要在程序中加入自己的程序运行时间计算,我们会使用time -f "%e" 来计算。
程序最好使用c99标准编写,保证可以使用gcc编译。
程序运行时间最短者胜出。
截止日期:3月1日。
=========================================================
附:num.txt的生成程序:
#include
<
stdio.h
>
#include < stdlib.h >
#include < time.h >
int main( void )
{
FILE * fp = fopen( " num.txt " , " w " );
int i = 0 ;
srand(time(NULL));
for (; i < 10000000 ; i ++ )
{
fprintf(fp, " %d\n " , rand() % 10000000 );
}
fclose(fp);
return 0 ;
}
#include < stdlib.h >
#include < time.h >
int main( void )
{
FILE * fp = fopen( " num.txt " , " w " );
int i = 0 ;
srand(time(NULL));
for (; i < 10000000 ; i ++ )
{
fprintf(fp, " %d\n " , rand() % 10000000 );
}
fclose(fp);
return 0 ;
}