动态内存分配-文件读写一要求
1、输入N
2、申请存放N个整数的内存
3、用100以内的随机数填充内存
4、将N个数写入文件
5、将文件中的N个数读入内存
6、对N个数排序
7、将排序后的N个数写入另一个文件
这是个程序题,实在是没有思路
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- 技术专家团-小桥流水 2022-01-04 09:27关注
运行结果:
代码:
#include <stdio.h> #include <stdlib.h> #include <time.h> //冒泡排序 void bubble_sort(int a[],int n) { int i,j,t; for (i=0;i<n-1;i++) { for (j=0;j<n-1-i;j++) { if(a[j] > a[j+1]) //从小到大,升序 { t = a[j]; a[j]=a[j+1]; a[j+1]=t; } } } } int main() { int *a,i,n,m; FILE* fp; printf("请输入N:"); scanf("%d",&n); a = (int*)malloc(n*sizeof(int)); srand((unsigned int)time(NULL)); //打开文件 fp = fopen("a.txt","w"); //打开文件 for(i=0;i<n;i++) { a[i] = rand()%100; //生成0-100以内的数 //写文件 if(i<n-1) fprintf(fp,"%d ",a[i]); else fprintf(fp,"%d",a[i]); } fclose(fp); if((fp = fopen("a.txt","r"))==0) { printf("文件打开失败\n"); free(a); a = 0; return 0; } m = 0; while(!feof(fp)) { fscanf(fp,"%d",&a[m]); //这里使用m保存读取的数据个数,可以跟n对比一下,看看读取的是否正确 m++; } fclose(fp); //排序 bubble_sort(a,m); fp = fopen("b.txt","w"); for(i=0;i<m;i++) { if(i<m-1) fprintf(fp,"%d ",a[i]); else fprintf(fp,"%d",a[i]); } fclose(fp); free(a); a = 0; return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
- ¥15 SPSS分类模型实训题步骤
- ¥15 求解决扩散模型代码问题
- ¥15 工创大赛太阳能电动车项目零基础要学什么
- ¥20 limma多组间分析最终p值只有一个
- ¥15 nopCommerce开发问题
- ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
- ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
- ¥15 pycharm输出和导师的一样,但是标红
- ¥15 想问问富文本拿到的html怎么转成docx的