请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。
并将最大值和对应的最小下标数值写入文件。
输入: 请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出 在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
#include<stdlib.h>
int main(void)
{
FILE * fp;
int i,m,n;
int a[5];
if((fp=fopen("C:\ha\ha.txt","r+"))==NULL){
printf("File open error!
");
exit(0);
}
for(i=0;i<5;i++)
{
fscanf(fp,"%d",&a[i]);
}
m=a[0];
for(i=0;i<5;i++) {
if(m<a[i])
m=a[i];
n=i;
}
fprintf(fp,"
%d %d",m,n);
if(fclose(fp)){
printf("Can not close the file!
");
exit(0);
}
return 0;
}
问题:
刚开始是出现乱码,答案错误
然后通过对文件位置和代码的修改后,编译运行一片空白
然后询问同学后发现文件位置还是不对,通过那个保存文件时系统告诉你的那个位置就是文件位置,就是这个了。
通过修改虽然运行还是空白,但是文件内却显示了所要输出的内容
第一次做这种新题目,不太懂的地方有很多,例如斜线的修改和文件的位置查找等等问题,还好有助教的教学视频和同学们提供的帮助,顺利地勉勉强强完成了这道题。