基础作业

一、本周完成的作业

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

输入:

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

输出:

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

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main (void) 
{
    FILE *fp;
    int i,N,index;
    char a[10];
    
    if((fp=fopen("E:\\PTA\\chenxilin.txt","w+"))==NULL){
        printf("File open  error!\n");
        exit(0);
    }
    scanf("%d\n",&N);
    fprintf(fp,"%d\n",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]);
        index=0;
        for(i=1;i<N;i++)
        if(a[i]>a[index])
            index=i;
        printf("%d %d",a[index],index);
        fprintf(fp,"\n%d %d",a[index],index);
    if(fclose(fp)){
        printf("Can not close the file!\n");
        exit(0);
    }
    return 0;
}

设计思路

1580162-20190304230955856-565696566.png

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

问题1,不知道运用那种文件打开方式。

解决方法,通过翻阅书籍,发现只能用“w“和“w+”打开最好。因为根据题意中输入的规则,我们要在编译器建立一个文件,然后在编译器中输入数字,并输入结果。而不是在磁盘中建立一个文件,通过记事本输入数字!

问题2,不了解各种输入,输出语句(scanf,fscanf,printf,fprintf)的区别。

解决方法,通过摸索。花了我很长的时间。scanf用于编译器(屏幕)的输入。fscanf用于直接输入到文件中。printf用于编译器(屏幕)的输入,fscanf用于直接输入到文件中!

运行结果

1580162-20190304233636886-1320366548.jpg

1580162-20190309140852808-1181104863.jpg

1580162-20190304234639390-69142665.jpg

二、学习进度条

周/日期这周所花的时间代码行学到的知识点简介目前比较困惑的问题
3/9-3/15240min100文件建立及其文件的利用

三、学习感悟

学习到了建立文件,感觉特别不错。一个软件不就是是用程序和文件建立起来的吗(软件的组成是程序和文件建立起来的是一种简单的说法)

转载于:https://www.cnblogs.com/hellochenxilin/p/10474150.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值