基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从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"之后就对了。