第二周作业

一.编程总结。

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

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

输出

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

1.代码。

#include<stdio.h>
#include<stdlib.h>
int main(void)
{
	FILE * op;
	int i,num;
	int a[10];
	int c=0;
	char q;
	if((op=fopen("C://f12-1.txt//f1.txt","w+"))==NULL)
    {
    	printf("File open error!\n");
    	exit(0);
	}
	scanf("%d",&num); 	
	fprintf(op,"%d\n",&num);
	for(i=0;i<num;i++)
	{
		scanf("%d",&a[i]);
		fscanf(op,"%d",&a[i]);
			if(a[i]>a[c])
			{
				c=i;
			}
		fprintf(op,"%d",a[i]); 
	}
	     scanf("%c",&q);
	    fprintf(op,"%c",q);
		printf("%d %d\n",a[c],c);
	    fprintf(op,"%d %d\n",a[c],c);
		
		if(fclose(op)){
			printf("Can not close the file!\n");
			exit(0);
		}
		return 0;
 } 

2.设计思路。

##3.问题与方法。 问题1:无法将文件打开,一直显示是File open error!. 方法1:文件那里的斜杠,首先应该是要两根,其次是与书上的不同,不是右斜杠,而是左斜杠。 问题2:输入的数字,没有进入到文本中。 方法2:要输入到文本中,不因只是一个scanf语句,还需要的事fscanf语句。 问题3:输入的数值,结果的运算错误,并且没有分行。 方法3:在if语句的判断大小的时候,输出的数字,是错误的,少了一个fprintf语句,加上一个分行符。 ##4.运行编辑图。 #二.学习进度条。
周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 2.23-3.2 三天 40 一维数组的定义和使用;一维数组的初始化;以及使用一维数组编程 一维数组的定义,以及字符的定义,不能很好的定义;以及使用for循环语句输入数值,字符,觉得不是很得心应手
第二周 3.3-3.9 四天 70 使用文件来编程;了解文件的概念;文本文件与二进制文件;缓冲文件系统;文件的结构与文件类型指针;文件的打开方式 文件的输入输出,无法确保其输入输出,总是会忘记再加上fscanf与fprintf;以及文本的使用,不知道如何更好地使用
#三.学习感悟。 学习文件的使用,使我们可以更加的提高自己的能力,但是不得不说的是,这个对我来说是一比较难的点,感觉就是难,但是在编程一个题目下,感觉到的是自己很多的不足,自己还是要去努力学习。
posted @ 2019-03-09 13:58  平安2  阅读(169)  评论(1编辑  收藏  举报