文件操作(排序)
文本文件,每行代表一個整數,范圍在0~512之間;
要求:對文件排序,不使用堆空間,只使用棧空間。
?
用srand()和rand()函數生成一定量的隨機數
/*** file.c ***/ #include<stdio.h> #include<string.h> #include<time.h> const int maxn = 100000; int main() {srand((unsigned int)time(NULL));int i;FILE *p = fopen("./a.txt","w");for(i = 0; i < maxn; i++){fprintf(p,"%d\n",(int)rand() % 513);}fclose(p);return 0; }然后排序:
/*** sort.c ***/ #include<stdio.h> #include<string.h> #include<time.h>int main() {int i;FILE *p = fopen("./a.txt","r");int array[513] = {0};while(!feof(p)){char buf[100] = {0};fgets(buf,sizeof(buf),p);if(0 != buf[0]){int value = atoi(buf);array[value]++;}}fclose(p);p = fopen("./b.txt","w");int j;for(i = 0; i < 513; i++){for(j = 0; j < array[i]; j++){fprintf(p,"%d\n",i);}}fclose(p);return 0; }?
轉載于:https://www.cnblogs.com/wanghao-boke/p/11244828.html
總結
- 上一篇: 文件操作(结构体)
- 下一篇: vue 如何在每次进入home的时候显示