基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
实验代码
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int max;
int a[6];
FILE *fp;
fp=fopen("F:\N\xiangyujie.txt","r+"); //将指针和目标文件关联
for(int i=0;i<6;i++){
fscanf(fp,"%d,",&a[i]); //从文件中读取数据
}
max=a[0];
for(int i=1;i<6;i++){
if(max<a[i])
max=a[i];
}
for(int i=0;i<6;i++){
if(max==a[i]){
fprintf(fp,"
%d %d",max,i); //将找到的最大值及其下标写入文件
break;
}
}
return 0;
}
思维导图
运行截图
运行前:
运行后:
遇到的问题
编译完成后的exe文件只只在第一次写入目标txt文件时成功,若将第一次写入的数删除,再次运行exe则无法写入。而且用同样的代码和编译器,无法在别人电脑上复现。
学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
3/3-3/9 | 4小时 | 100行 | 二维数组和文件的读取与写入 | 暂无 |