第二周作业总结

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

实验代码:

#include<stdio.h>
#include<stdlib.h>
int main (void)
{
    FILE * fp;
    int n,j,i;
    int a [10];
    if ((fp = fopen ("C:\\新建文件夹\\caozheng.txt","r+")) == NULL)
	{
        printf ("File open error!\n");
        exit (0);
    }
    fscanf (fp,"%d",&n);
    for (i=0; i<n; i++)
    {
        fscanf (fp,"%d%c",&a [i] ,&op);
        j=0;
    }
    for (i=0; i<n; i++)
        if (a [i] > a[j] )
        j=i;
    fprintf (fp,"\n%d %d",a [j],j);
    if (fclose (fp)) 
	{
        printf ("Can not close the file! \n" );
        exit (0);
    }
    return 0;
}

  

思路:

这道题目就是再上周题目中多加了个文件,所以我们需要的是如何从文件中提取数值,然后再不动原数值的情况下找出最大值和对应的最小下标数值

问题在开始做的时候有出现了输出时并没有在原文本中输出,而是生成了一个新的文本,而且在界面有???出现,在中途还多次出现了程序终止的界面,不知道怎么回事,截图忘记了

 

结果截图:

猜你喜欢

转载自www.cnblogs.com/LUMO/p/10500433.html