2019年春季学期第二周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1).实验代码
```c
include<stdio.h>
include<stdlib.h>
int main(void) {
FILE*fp;
int n=18, num[18], i, max, x = 0;
char temp;
if((fp=fopen("D://24102//hyh.txt","a+"))==NULL)
{
printf("File open error!\n");
exit(0);
}
for (i = 0; i < n; i++)
fscanf(fp, "%d%c", &num[i], &temp);
max = num[0];
for (i = 0; i < n; i++) if (num[i] > max) { max = num[i]; x = i; }
fprintf(fp, "\n%d %d", max, x);
if(fclose(fp))
{
printf("Can not close thce file!\n");
exit(0);
}
return 0;
}
```
2) 设计思路
3).本题调试过程碰到问题及解决办法
这里我txt文件路径没对,然后改正会还是错误。显示的一直是第一个数字和下标0。
问助教后才知道fscanf不能在for语句中,要先把数字全输出后在比较大小。
4).运行结果截图
二、学习进度条
三、学习感悟
请回顾自己的本周的学习过程,如果你有新的想法或者新的方法,请及时记录下来。
会了导入文件路径