2019年春季学期第二周作业

2019年春季学期第二周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:

请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。

输出:

在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。

实验代码:

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
 FILE*fp = fopen("C:\lsy.txt","a+");
     int max, min=0, n;
     int a[20];
     int i;
     
    fscanf(fp,"%d,", &a[i]);
    for(i=0;i<n;i++)
    {
         fscanf(fp,"%d,", &a[i]);
    }
    printf("
");
    a[max]=0;
    for(i=0;i<n;i++)
{
           if(a[i]>max)
       {
           max=a[i];
               min=i;
           }
    }
    
    fprintf(fp,"%d %d", max, min);
    printf("%d %d", max, min);
    
    fclose(fp);
    return 0;
 }

解题思路:

本题遇到的问题及解决办法:

错误截图:

问题:问题太多了,有以下几个大问题
1.没法成功读入文件
2.输出最大值是一串乱码
3.运行结果没有保存到文件中

解决办法:1.看到助教发在群里的视频讲解,学习如何处理文件。还问了问李凌志如何写,然后不断更改代码
2.截图发给了二班黄延亮,因为他也出现过这种情况,故询问了一下他。然后,不断地看书上相似的例题,不断地调试发现a[i]的值不对劲,发现自己的文件编辑错误
3。因为后来有视频讲解就直接借用了其中简单的关闭文件的语句

心得:感觉自己学到的知识还是太少了,以至于做题存在极大的问题。这一个简单题就花了我长达4个小时的时间,还在写时感觉因为不会做到想哭了,写完了心情瞬间多云转晴
实验结果:

原文地址:https://www.cnblogs.com/yuanqizhizhi/p/10500148.html