2019春季学期第二周作业

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

  1)实验代码

#include<stdio.h>
#include<stdlib.h> 
int main(){
	FILE*fp;
  int i,n,a[10], index;
  if((fp=fopen("D://360downloads//Tom.txt","a+"))==NULL){
  	printf("File open error!
");
  	exit(0);
  }
  fscanf(fp,"%d",&n);
  for(i=0;i<n;i++){
     fscanf(fp,"%d ",&a[i]);
 }
  index=0;
  for(i=1;i<n;i++){
     if(a[i]>a[index])
        index=i;
  }
        fprintf(fp,"
%d %d",a[index],index);
        if(fclose(fp)){
        	printf("Can not close the file!
");
        	exit(0);
		}
        return 0;
}

  2)设计思路

3)本题调试过程中遇到的问题

第一个就是指针的运用不熟练,容易在代码上忘记加f,然后在电脑上制作文本时也出现了一些操作失误。

第二个就是第十四行%d后忘记空格,以及文本的地址在dev-c++中写错了位置导致打开失误。

第三个就是第八行中的“r”要用"a+"来表示,最后在李大佬的帮助下完成了这道题。

4)运行结果截图

原文地址:https://www.cnblogs.com/tzmad/p/10497497.html