2019春季学期第二周作业

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

#include<stdio.h>
#include<stdlib.h>

int main()
{
	FILE * fp;
	int i,max,n;
	int a[10];
	if((fp = fopen ("C:\Users\Jeff,Y\Desktop\Jeff.txt","a+"))==NULL);
	{
		printf("FILE OPEN ERROR!
");
		exit(0);
	}
	fscanf(fp,"%d",&n);
	for(i=0; i<n; i++){
	fscanf(fp,"%d",&a[i]);
	max=0;
	}
	for(i=1; i<n; i++){
	if(a[i]>a[max])
	max = i;
	}
	fprintf(fp,"
%d %d",a[max],max);
	if(fclose(fp))
	{
		printf("Can not close the file!
");
		exit(0);
	}
	return 0;
}

二、设计思路:

错误提示:
输出错误

原因:
在输入文件地址时没有输入txt格式;在输出文件时没有写文件指针(fp)导致文件无法输出。
解决办法:
仔细查找文件地址,输入正确的地址,在百度上了解了文件指针的作用及用途。
运行结果截图;

自我总结:
做了这个题,才体会到什么叫做题5分钟,找错两小时.代码写好后,改错俨然成为一件棘手的事情,因为编程都是一些很小的错误以至于很难找出。但这也考验了我的耐心与细心。以后写代码更要细心再细心。

原文地址:https://www.cnblogs.com/ImportantMagic/p/10498679.html