第二次作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出:
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
#include<stdio.h>
#include<stdlib.h>
int main (void)
{
FILE * fp;
int n,i,max=0;
int a [10];
if ((fp = fopen ("C:\\Users\\hasee\\Desktop\\longjiasi1\\longjiasi.txt","a+")) == NULL) {
printf ("File open error!\n");
exit (0);
}
scanf ("%d",&n);
for (i=0; i<n; i++)
{
fscanf (fp,"%d",&a [i] );
}
for (i=1; i<n; i++)
{
if (a [i]>a [max] )
max=i;
}
fprintf (fp,"%d %d",a [max],max);
if (fclose(fp))
{
printf ("Can not close the file!\n" );
exit (0);
}
return 0;
}
思路:主要是打开文件方式,然后定义指针,其余的没啥变化
一开始有很多错误,老是打开失败,后面尝试修改fscanf这一行,就对了;
周期 | 所花时间 | 学习简介 | 学习困惑 |
---|---|---|---|
第二周 | 四天 | 学习了文件 | 对文件还是不够了解 |