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!\n");
		exit(0); 
	}
	
	
	for(i=0; i<6; i++){
		fscanf(fp,"%d,", &big[i]);
		shu=(big[i]>shu)?big[i]:shu;
		printf("%d\n",big[i]);
	}
	for(i=0; i<6; i++){
		if(shu==big[i]){
			fprintf(fp,"\n%d %d", shu, i);
			printf("%d   %d", big[i], i);
			break;
		}
	}
	if(fclose(fp)){
		printf("Can not close the file!\n");
		exit(0);
	}
	return 0;
}

设计思路

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

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

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

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

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


正确截图

对自己作业的评价

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

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

学习进度条

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

学习感悟

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

posted @ 2019-03-06 13:43  李代璇  阅读(346)  评论(3编辑  收藏  举报