2019春第二周作业

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

 # include<stdio.h>
 # include<string.h>
 #include<stdlib.h>
 int main(void)
 {
       FILE*fp;
       int i,x,flag=0,n;
       char op=',';
       scanf("%d",&n);
       int a[n];

       if((fp=fopen("C:\\Users\\Administrator\\Desktop\\abcs\\huangchunyan.txt","w+"))==NULL){
                  printf ("File open error!\n");
                  exit (0);
       }
      fprintf(fp,"%d\n",n);
      for (i=0;i<n;i++){
           scanf ("%d",&a[i]);
           fprintf(fp,"%d%c",a[i],op);
      }
      x=a[0];
      for (i=0;i<n;i++){
          if(x<a[i]){
               x=a[i];
               flag=i;
          }
      }
      fprintf(fp,"\n");
      fprintf (fp,"%d %d",x,flag);
      if (fclose(fp))
      {
              printf ("Can not close the file!\n");
              exit (0);
       }
       printf ("%d %d",x,flag);
       return 0;
 }

二、设计思路

 

三、本题调试过程碰到问题及解决办法

 在编译运行时,程序未输出结果,发现我只输入了文件输出,没有输入程序输出;还有未加入换行符和“,”,最后通过题目要求格式对比发现错误。

四、运行结果图

猜你喜欢

转载自www.cnblogs.com/da123hcy/p/10496108.html