第二周编程&学习总结

一、本周完成的作业

请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
 输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
 输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。

1)实验代码

#include<stdio.h> 
#include<stdlib.h>
int main()
{
    FILE *fp;
    int a[10];
    int i, q=0, m;
    
    if((fp=fopen("D:\\作业\\xiongyating.txt","r+"))==NULL)   \\注意双斜杠
    {
        printf("File open error!\n");
        exit(0);
    }
        \\可用来判断文件是否打开正常
    
    for(i = 0; i < 5; i++)
    {
        fscanf(fp,"%d%c", &a[i]);
        printf("%d%c", a[i]);
        \\%c题目要求以逗号分隔开来
    }
    
    m = a[0];
    
    for(i = 0; i < 5; i++)
     {        
        if(a[i] > m)
        {
            m = a[i];
            q = i;
        }        
    }

    printf("\n%d %d", m, q);
    fprintf(fp,"\n%d %d", m, q);
    \\注意换行符
    if(fclose(fp))
    {
        printf("Can not close the file!\n");
        exit(0);
    }
    return 0;
}

2)设计思路

3)本题调试过程碰到问题及解决办法

1、我在使用fscanf函数时的一个误区:
程序在运行到“输入文件中的数据”这一步时会出现数据读取不到而导致出现随机值的结果,如下图所示

每个数据间是用逗号隔开的,而我定义的数组是整型的,这就导致fscanf读取错误。解决方案就是将所有逗号换成空格。

4)运行结果截图

二、学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
3/5-3/9 3小时 40 数组的认识及用法 关于文件的问题有点搞不懂

三、学习感悟

这个学期的知识比上个学习的知识难了不少,但在刚刚开学这几个星期我还没调整状态,在这个学期我更应该认真一点

猜你喜欢

转载自www.cnblogs.com/zx666/p/10501757.html