• 2019第二周基础作业


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

    输入:

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

    输出:

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

    实验代码

    #include<stdio.h>
    #include<stdlib.h>
    int main(){
    	FILE*fp;
    	int n,i,max;
        int a[10];
        if((fp=fopen("F:\C\liujin.txt","w+"))==NULL)
    	{
            printf("File open  error!
    ");
            exit(0);
        }
        scanf("%d",&n); 
        fprintf(fp,"%d
    ",n);
        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
            fprintf(fp,"%d",a[0]);
            for(i=1;i<n;i++)
            fprintf(fp,",%d",a[i]);
            max=0;
        for(i=0;i<n;i++)
           if(a[i]>a[max])
             max=i;
             printf("%d %d",a[max],max); 
             fprintf(fp,"
    %d %d",a[max],max);
        if(fclose(fp)){
            printf("Can not close the file!
    ");
            exit(0);
        }
        return 0;
    }
    

    实验过程中遇到的问题

    一:

    开始操作时,对于fopen不太熟悉,通过查找资料才明白 fopen函数的第一个参数是文件路径,第二个参数是打开方式,

    w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

    w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

    二:

    开始操作时对fscanf,fprintf不太明白与scanf,printf有什么区别,通过查找资料才明白fscanf,fprintf是输入输出到文件中,而scanf,printf输入输出到屏幕上。

    流程框图

    运行结果截图

    学习进度条

    月/日 这周所花时间 代码行 学到知识点
    3/3-3/9 120min 150行 fopen函数

    学习感悟

    在学习过程中遇到问题,一定要善于分析,但并不是一味的死磕,而是在借鉴他人的情况下分析自己为什么这样行不通。

  • 相关阅读:
    如何给swing加上alt+x和ctrl+x快捷键
    java基础之登录程序
    RFID UHF(EPC)标签使用常识
    史密斯圆图
    C# DataTable Operations
    温度测量【RTD】
    温度测量【温度传感器类型】
    C# Debug
    c# ComboBox绑定枚举
    c# 隐藏Tab控件的标签
  • 原文地址:https://www.cnblogs.com/Liu0922/p/10501591.html
Copyright © 2020-2023  润新知