• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
langzihui
博客园    首页    新随笔    联系   管理    订阅  订阅

第二周作业-基础作业

基础作业

请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从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!\n");
        exit(0);
  }
   scanf("%d\n",&n);
   fprintf(fp,"%d\n",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,"\n%d %d",max,count);   //将最大值和下标输出到文件文本中 
  
  if(fclose(fp)){       //关闭文件 
        printf("Can not close the file!\n");
        exit(0);
  }
   return 0;
}

2.设计思路

流程图:

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

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

错误截图:

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

注意事项:

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

4.实验结果截图:

二、学习进度条

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

三、学习感悟

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

posted @ 2019-03-06 16:23  langzihui  阅读(226)  评论(2)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3