zoukankan      html  css  js  c++  java
  • 第二周作业-基础作业

    基础作业

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

    输入:

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

    输出

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

    1.实验代码

    #include<stdio.h>
    #include<stdlib.h>
    int main (void)
    {
      FILE *fp;   //定义文件指针 
      int n,i,max;
      int count=0;
      char num[10];
      
      if((fp=fopen("F:\f505-Yangling.txt","w+"))==NULL)  //运用if语句判断,建立新文本文件进行读或写 
      {
            printf("File open  error!
    ");
            exit(0);
      }
       scanf("%d
    ",&n);
       fprintf(fp,"%d
    ",n);
       for (i=0;i<n;i++)    //将输入的数字输出到文件文本中 
       {
        scanf("%d",&num[i]);
         fprintf(fp,"%d,",num[i]);
      }
      max=num[0];
      for (i=1;i<n;i++)
        while (num[i]>max){
          max=num[i];
          count=i;
      }
        fprintf(fp,"
    %d %d",max,count);   //将最大值和下标输出到文件文本中 
      
      if(fclose(fp)){       //关闭文件 
            printf("Can not close the file!
    ");
            exit(0);
      }
       return 0;
    }
    

    2.设计思路

    流程图:

    思路:
    先定义文件指针,然后建立新文本文件,运用for语句进行输入同时将输入的数字写入文件文本中 ;
    运用while语句进行判断将最大值和下标输出到文件文本中 ,最后关闭文件

    3.本题遇到的问题及其解决方法

    错误截图:

    问题:我开始将输出最大值和下标写在了while语句里面
    解决办法:将fprintf(fp," %d %d ",max,count);写到while 语句外面

    注意事项:

    1.是要通过代码建立一个新的文件文本,不是让我们在磁盘里面创建文档
    2.我觉得文件打开方式用“w”也应该可以,进行只写,代码已经读过了

    4.实验结果截图:

    二、学习进度条

    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的题目
    3/4-3/9 6小时 89 新建文件进行读写 二位数组子数组的最大值的求和

    三、学习感悟

    我在这周学了怎么去新建文件 在文件中打印结果,还学了一维数组的使用,但是老师的挑战题目我不会做

  • 相关阅读:
    Azure Messaging-ServiceBus Messaging消息队列技术系列6-消息回执
    Azure Messaging-ServiceBus Messaging消息队列技术系列7-消息事务
    Azure Messaging
    消息队列技术之基本概念
    Azure IoT 技术研究系列1
    Azure IoT 技术研究系列3
    Azure IoT 技术研究系列2
    Azure IoT 技术研究系列4
    memset()
    C++ GetComputerName()
  • 原文地址:https://www.cnblogs.com/lyx1314/p/10484049.html
Copyright © 2011-2022 走看看