zoukankan      html  css  js  c++  java
  • 2019年春季学期第二周作业

    本周完成的作业:

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

    1).实验代码

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>  
    int main(void)
    {
    	FILE*fp;
    	long big[100], i, shu=0;
        
    	if((fp=fopen("E:\lidaichuan\ldc.txt","a+"))==NULL){
    		printf("File open error!
    ");
    		exit(0); 
    	}
    	
    	
    	for(i=0; i<6; i++){
    		fscanf(fp,"%d,", &big[i]);
    		shu=(big[i]>shu)?big[i]:shu;
    		printf("%d
    ",big[i]);
    	}
    	for(i=0; i<6; i++){
    		if(shu==big[i]){
    			fprintf(fp,"
    %d %d", shu, i);
    			printf("%d   %d", big[i], i);
    			break;
    		}
    	}
    	if(fclose(fp)){
    		printf("Can not close the file!
    ");
    		exit(0);
    	}
    	return 0;
    }
    

    设计思路

    3)本题做对过程碰到问题及解决办法

    不知道错在哪里,开始一直以为是文件目录错误,也确实是的。于是开始一直在搞文件目录,后来搞了起码四十多分钟,终于想到使用它给我新建的txt,我在里面输入了数字,然后就成功的读出来了文件里的数字。

    不懂为什么一直给我创造新文件目录,而且各种文件目录名都试过,加txt啊。不加txt啊。加两个txt啊,反正就是给我新的文件目录。

    这是不知道怎么读取逗号,后来呀,灵光一闪,在%d后加一个和输入的逗号类型一样的逗号就行

    这是如果数字不够的话,会读取零


    正确截图

    对自己作业的评价

    觉得自己很蠢,这么简单的东西搞了几个小时,脑子太死了。并且这个程序只能写入一次,不能多次写入。还是要多多学习。

    室友何磊找到了不能多次写入的原因并告诉了我,原因是:不是只能写入一次,而是写入的数据覆盖了上一次数据。用fseek函数

    学习进度条

    这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第二周 六个多小时 153 文件的打开与关闭,读取数据与写入数据 指针的用法还是有点不会

    学习感悟

    基本上是自学啦,要是没有自制力的话根本啥也学不到,所以得自觉。
    学习得速度还是不够快,得尽力多学习一点,还得把前面跳过的知识自己好好学好。

  • 相关阅读:
    矩形覆盖
    跳台阶与变态跳台阶
    有几个PAT【*】
    找零钱
    有理数的四则运算
    旧键盘打字
    查验身份证
    完美数列【置顶】
    旧键盘
    超简单webservice实例
  • 原文地址:https://www.cnblogs.com/xqldc/p/10482765.html
Copyright © 2011-2022 走看看