第二周基础作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
实验代码:
include<stdio.h>
include<stdlib.h>
int main()
{
FILE * fp;
int n,i,x,y=0;
int a[15];
if((fp=fopen("C:\\text\\tangbin.txt","r+"))==NULL)
{
printf("File open error!\n");
exit (0);
}
for(i=0;i<7;i++)
fscanf(fp,"%d",&a[i]);
for(x=0;x<7;x++)
{
if(y<a[x])
{
y=a[x];
i=x;
}
}
printf("%d %d",y,i);
fprintf(fp,"\n%d %d",y,i);
if(fclose(fp))
{
printf("Can not close the file! \n");
exit (0);
}
return 0;
}
设计思路:
先定义文件指针,然后打开文件夹,讲写好的数读入程序中,然后就进入了程序的关键步骤,怎么去找这个
最大数和对应的最小下标,我先建立一个for循环,这里只给7个数,因为前面我给了一个足够大的空间完全
放的下。用一个从0逐渐增大的数来跟它作比较,如果小于它就交换,直到找到最大数为止。
本题碰到的困难及解决方法:
我一直搞不懂怎么输出在个人文档中,最后看了助教发的视频,上面讲到应该先建立一个文件夹,把写好的代码程序
要保存在建议的文件夹里面,再在文件夹里面建立一个文档,在文档里面输入7个不同的数字,这样才能将写好的数字
读入程序中,最后输出在个人文档中。这道题还多亏了同学的指点。
运行截图: