2019年春季学期第二周作业
2019年春季学期第二周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1).实验代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
FILE*fp;
int index, i,n=7;
if((fp=fopen("D:\\新建文件夹\\Brent.txt","a+"))==NULL){
printf("File open error!\n");
exit(0);
}
fscanf(fp,"%d", &index);
int a [10];
for (i=0;i<n;i++)
fscanf (fp,"%d,",&a [i]);
for (index=0;index<n;index++)
{
if (a[0]<a[index])
{
a[0]=a[index];
i=index;
}
else if (a[0]==a[index])
{
a[0]=a[index];
if (i>index)
{
i=index;
}
}
}
fscanf (fp,"%d %d",&a[0],&i);
printf ("%d %d",a[0],i);
fseek(fp, 0L, SEEK_END);
if(fclose(fp)){
printf("Can not close the file!\n");
exit(0);
}
return 0;
}
2).设计思路
3).本题过程碰到的问题以及解决办法
这个题目在做的时候就是有些知识点不会处理,然后我的室友他们就去查看了很多资料,就是刚开始要不就写不进,要不就写不出,而我是答案一直输不对,最后一起帮助下完成了。
我在编译的时候,有一句fscanf语句里面没有逗号,没有和文件里的保持一致后来发现一直是错误的答案,后来改了之后,然后再新建一个文件夹,我刚开始不太会,只知道将代码复制进去,后来发现又多出个文件夹,尝试了很多次都没有成功,最终在新生成的文件夹里输出了结果。其他的问题不是很大。
4).运行结果截图
5) 学习进度条
周/日期 | 这周所花时间 | 代码行数 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第一周 | 六个小时左右 | 102 | 学习了数组 | 对于数组的使用不太熟悉 |
第二周 | 八个小时左右 | 98 | 学习了文件,学会使用文件去处理代码 | 对于文件的一些操作 |
6)学习感悟
学习了文件之后,发现有好多内容都不会,有点难受,未来继续加油