2019年春季学期第二周基础作业

基础作业

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

输入:

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

输出:

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

实验代码

#include <stdio.h>
#include <stdlib.h>
int main ()
{
  FILE *fp;
  int i, j;
  int a[11];
  char ch;
  
  if((fp = fopen ("D:\llz.txt","r+")) == NULL)
  {
      printf("File open error!
");
      exit (0);
  }
  
  for(i = 0; i < 6; i++)
  {
    fscanf(fp,"%d %c",&a[i],&ch);
  }
  
  for(j = 0; j < 6; j++)
  {
    if(a[0] < a[j])
    {
      a[0] = a[j];
      i = j;
    }
    
    else if(a[0] == a[j])
    {
      if(i > j)
      {
        i = j;
      }
    }
  }
  
  printf("%d %d",a[0],i);
  fprintf(fp,"
%d %d",a[0],i);
  
  if(fclose (fp))
  {
      printf("Can not close the file! 
");
      exit (0);
  }
} 

设计思路:

遇到的问题及解决方法

文件打开错误。我在D盘中建的文件是"llz.txt",但是它后面是有文件扩展名“.tst”的,把文件名改为"llz"之后就对了。

运行截图

原文地址:https://www.cnblogs.com/20188382llz/p/10496968.html