请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1.实验代码
include<stdio.h>
include<stdlib.h>
int main(void)
{
FILE*fp;
int n, i, index,t;
int a[5];
if((fp=fopen("F:\zuoshuai.txt","r+"))==NULL){
printf("FILE open error!
");
exit(0);
}
for(i=0;i<5;i++){
fscanf(fp,"%d",&a[i]);
}
index=a[0];
for(i=0;i<5;i++){
if(a[i]>index) {
index=a[i];
t=i;
}
}
fprintf(fp,"
%d %d",index,t);
if(fclose(fp)){
printf("Can not close the file!
");
exit(0);
}
return 0;
}
2.错误与解决方法 (1)按照书本的例题来做的,然后出现了很多错误,其中最主要的是if和else的符号问题不清楚,还有就是上次的pta的第二题不是很清楚。
(2)看了很久的书本,然后询问了助教,最后把自己的代码给助教修改了一些地方,主要是符号问题以及思路混乱。
(3)找不到自己的文件,文件名输入错误
(4)通过修改输入的文件名找到文件
(3)评价
做了好几个小时,打了一堆的代码,真的不想去copy别人的,把上次pta的第二题和老师上课讲的那题结合起来,写了一个完整的代码,但是一运行一堆错误,发现对if和else的语句还不熟,还有就是思路还是有些问题,昨晚实在做不出问了助教,请她帮我改了一下代码才做出来。
(4)运行结果