一、本周完成的作业:
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1).实验代码
#include<stdlib.h>
#include<string.h>
int main()
{
FILE*fp;
char a[10];
int i,b,c;
if((fp=fopen("D:\yxh.txt","r+"))==NULL)
{
printf("File open error!
");
exit (0);
}
for(i=0;i<6;i++){
scanf("%d",&a[i]);
fscanf(fp,"%d",&a[i]);
}
for(i=0;i<6;i++)
if(a[i]>b){
b=a[i];
c=i;
}
printf("%d %d",b,c);
fprintf(fp,"
%d %d",b,c);
if(fclose(fp))
{
printf("Can not close the file!
");
exit(0);
}
return 0;
}
2).设计思路
3).本题调试过程
这个是用的"r+",不知道为什么它可以在pta上得到答案,不过写入不了文件(有一次成功了,忘保存了)。这样在文件的数据不能用逗号(不然只能读出第一个数据)。最后我用"w+"完成的,写入数据保存,输出答案保存。
4).实验结果截图
二、学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
3/9-3/15 | 4小时 | 100 | 从文件上读入数据 | 文件结构和文件类型指针 |
三、学习感悟
遇到问题首先查看书本,不能解决再去网上查找,这样映像更深刻。在不断实验过程,才能发现问题改正问题。