一、本周完成的作业:
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1).实验代码:(https://www.cnblogs.com/lqx0123/p/10452195.html)
#include<stdio.h> #include<stdlib.h> int main() { FILE *fp; int max,n=0; int num[10]; int i; if((fp=fopen("D:\liqingxi\myfirst\first_one.txt","a+"))==NULL) { printf("File open error! "); exit(0); } for(i=0;i<5;i++) { fscanf(fp,"%d%c",&num[i]); printf("%d%c",num[i]); } printf(" "); max=num[0]; for(i=0;i<5;i++) { if(max<num[i]) { max=num[i]; n=i; } } fprintf(fp," %d %d",max,n); printf("%d %d",max,n); if(fclose(fp) ) { printf("Can not close the file! "); exit(0); } return 0; }
2) 设计思路
3).本题调试过程碰到问题及解决办法
1.运行的结果和文件中的值不同
定义变量的类型搞错了
2.运行后会更改文件中的值
将文件的打开方式由“r”→“a+”
3.元素值之间用逗号分隔
刚开始我不知道怎么去表示,我打算定义一个字符数组,用循环去显示逗号,后来我发现我想多了...因为是在文件中输入元素和逗号,就可以直接用%c去读取。
4).运行结果截图
二、学习进度条
周/日期 |
这周所花的时间 |
代码行 |
学到的知识点简介 |
目前比较迷惑的问题 |
3/4-3/10 | 2.5小时 | 300 | 文件,数组,指针 | 暂无 |
三、学习感悟
这次的作业难度不是太大,但是有很多细节容易出错