基础作业 :
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入: 请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出: 在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
实验代码:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
FILE * fp;
int a[10];
int i,n;
int max,min;
n=0;
max=0;
min=0;
if((fp=fopen("C:/TYY/TYY.txt","a+"))==NULL)
{
printf("File open error!\n");
exit(0);
}
for(i=0;i<n;i++)
{
fscanf(fp,"%d",&a[i]);
fprintf(fp,"%d",a[i]);
}
for(i=1;i<n;i++)
{
if(a[max]<a[i])
{
max=i;
}
}
fprintf(fp,"\n%d %d\n",a[max],max);
if(fclose(fp))
{
printf("Can not close the file!\n");
exit(0);
}
return 0;
}
解题思路:

存在的问题及解决方法:


问题:
1.stdlib书写错误
2.打开第13行没有用两个等号进行赋值
3.给出答案不对,不管文件夹中是什么数字,给出的答案永远是-1 0
解决办法:
1.重新编写
2.加上等号
3.是在求最大值的编译时出现逻辑错误
运行结果:


作业完成时间:
3个多小时
心得:
太难了,上课不仅要认真听讲,还要自己多看书,多操作
浙公网安备 33010602011771号