基础作业 :

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

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

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

实验代码:

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

 

解题思路:

 

存在的问题及解决方法:

问题:

          1.stdlib书写错误

          2.打开第13行没有用两个等号进行赋值

          3.给出答案不对,不管文件夹中是什么数字,给出的答案永远是-1 0

解决办法:

           1.重新编写

           2.加上等号

           3.是在求最大值的编译时出现逻辑错误

运行结果:

作业完成时间:

3个多小时

心得:

太难了,上课不仅要认真听讲,还要自己多看书,多操作

                 

                  

 

           

                 

                  

 

 

posted on 2019-03-09 18:29  青春永驻岁月无忧  阅读(158)  评论(0)    收藏  举报