首先随机产生两组各100个随机数,并分别存入到data1.dat和data2.dat中。要求:
编程将随机数从小到大排序后保存
将两组文件中的数据读出并输出到屏幕验证
编程将上题中的两组文件中的数据合并。要求:
将两组文件中的数据按照从小到大的顺序合并
输出(保存)到磁盘文件“result.dat”中
【c语言】随机产生两组数从小到大排序后,分别存入两个文件,并读出两组数据,将两组数据合并并存入磁盘文件。
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 语言-逆行者 2022-12-27 12:23关注
#include <stdio.h> #include<stdlib.h> #include<time.h> #define N 100 //选择排序 void selectSort(int array[] , int size) { int i,j,k,min,temp,count=1; //需要的主循环趟数比实际的数据个数少1 for(i = 0; i < size - 1;i++) { min = i; for(j = i + 1; j < size; j++ ) { if(array[j] < array[min]) { min = j; } } if(min != i) { temp = array[min]; array[min] = array[i]; array[i] = temp; } } } //保存数据的函数 void ctrl_s(char name[],int date[N]){ int i; FILE * fp; fp=fopen(name,"w"); if(fp==NULL){ printf("打开文件失败!\n"); } else{ fwrite(date, sizeof(int), N, fp); } fclose(fp); } //从文件获取数据并输出 void print(char name[],int date[N]){ int i; FILE * fp; fp=fopen(name,"rb"); if(fp==NULL){ printf("打开文件失败!\n"); } else{ fread(date, sizeof(int), N, fp); } for(i=0;i<N;i++){ if(i%10==0){printf("\n");} printf("%d ",date[i]); } fclose(fp); } //读取数据合并后并保存到result.dat文件中 void combine(char name[],int date3[N],int date4[N]){ int i; int date[2*N]; FILE * fp; for(i=0;i<N;i++){ date[i]=date3[i]; } for(i=100;i<2*N;i++){ date[i]=date4[i]; } selectSort(date,2*N); fp=fopen(name,"w"); if(fp==NULL){ printf("文件打开失败!\n"); } else{ fwrite(date, sizeof(int), N*2, fp); } fclose(fp); printf("结果写入文件成功!\n"); } int main() { //生成随机种子 srand((unsigned int)time(NULL)); int dat1[N],dat2[N],dat3[N],dat4[N]; int i; //获取随机数 for(i=0;i<N;i++){ dat1[i]=rand(); dat2[i]=rand(); } //排序 selectSort(dat1,N); selectSort(dat2,N); //写进文件 ctrl_s("date1.dat",dat1); ctrl_s("date2.dat",dat2); //读取文件内容并输出 print("date1.dat",dat3); printf("\n"); print("date2.dat",dat4); //读取数据合并后并保存到result.dat文件中 combine("result.dat",dat3,dat4); return 0; }
运行截图验证:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 对于知识的学以致用的解释
- ¥50 三种调度算法报错 有实例
- ¥15 关于#python#的问题,请各位专家解答!
- ¥200 询问:python实现大地主题正反算的程序设计,有偿
- ¥15 smptlib使用465端口发送邮件失败
- ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
- ¥15 对于squad数据集的基于bert模型的微调
- ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
- ¥20 steam下载游戏占用内存
- ¥15 CST保存项目时失败