题目:
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出:
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1)实验代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
FILE *wenjian;
int a[10];
int i,max;
char op;
if((wenjian=fopen("D:\creative\Leemay.txt","a+"))==NULL)
{
printf("File open error!
");
exit(0);
}
max=0;
for(i=0;i<10;i++)
{
fscanf(wenjian,"%d%c",&a[i],&op);
if(a[i]>a[max])
{
max=i;
}
}
fprintf(wenjian,"
%d %d",a[max],max);
if(fclose(wenjian)){
printf("Can not close the file!
");
exit(0);
}
return 0;
}
2)设计思路
3)本题调试过程碰到的问题及其解决办法
1.读入文件时,文件中的逗号没有处理;
解决办法:定义一个符号变量用于存储逗号。
2.读入文件时,地址只写了数组名;
解决办法:在数组名前加上&,数组名后加上数组长度。
4)自我评价
本题使用时间大概五个小时,题目大体思路没问题,只是在几个细节上有疏漏,另外在绘制流程图上花费的时间也比较多,细节上的问题跟同学请教之后也解决了。