2019年春季学期第二周作业

2019年春季学期第二周作业

基础作业

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

输入:

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

输出

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

1).实验代码

#include<stdio.h>
#include<string.h>
#include<stdlib.h> 
int main(void)
{
	FILE*fp;
	int index, i,n=7;
	
	if((fp=fopen("D:\\新建文件夹\\Brent.txt","a+"))==NULL){
		printf("File open error!\n");
		exit(0); 
	}
	
	fscanf(fp,"%d", &index);
	int a [10];
	for (i=0;i<n;i++)
	   fscanf (fp,"%d,",&a [i]);
	for (index=0;index<n;index++)
	{
		if (a[0]<a[index])
		{
			a[0]=a[index];
			i=index;
		}
		else if (a[0]==a[index])
		{
			a[0]=a[index];
			if (i>index)
			{
				i=index;
			}
		}
	}
	fscanf (fp,"%d %d",&a[0],&i);
	printf ("%d %d",a[0],i);
	fseek(fp, 0L, SEEK_END);
	
	if(fclose(fp)){
		printf("Can not close the file!\n");
		exit(0);
	}
	return 0;
}

2).设计思路

3).本题过程碰到的问题以及解决办法

这个题目在做的时候就是有些知识点不会处理,然后我的室友他们就去查看了很多资料,就是刚开始要不就写不进,要不就写不出,而我是答案一直输不对,最后一起帮助下完成了。
我在编译的时候,有一句fscanf语句里面没有逗号,没有和文件里的保持一致后来发现一直是错误的答案,后来改了之后,然后再新建一个文件夹,我刚开始不太会,只知道将代码复制进去,后来发现又多出个文件夹,尝试了很多次都没有成功,最终在新生成的文件夹里输出了结果。其他的问题不是很大。

4).运行结果截图

5) 学习进度条

周/日期 这周所花时间 代码行数 学到的知识简介 目前比较迷惑的问题
第一周 六个小时左右 102 学习了数组 对于数组的使用不太熟悉
第二周 八个小时左右 98 学习了文件,学会使用文件去处理代码 对于文件的一些操作

6)学习感悟

学习了文件之后,发现有好多内容都不会,有点难受,未来继续加油

posted @ 2019-03-06 16:41  刘彭  阅读(135)  评论(2编辑  收藏  举报