第二周作业及总结

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

1、实验代码,及设计思路。

include <stdio.h>

include <stdlib.h>

int main ()
{
FILE * fp; /定义文件指针/
int m=0,i,max;
char a [10];
if ((fp = fopen ("C://Users//tom//Desktop//SZL//szl.txt","a+") )==NULL) /打开文件/
{
printf ("File open error! ");
exit (0);
}
for (i=0;i<6;i++) /文件处理/ /从文件读入数字并保存到变量/
{
fscanf (fp,"%d%c",&a [i]); /找到最大值a [m]/
printf ("%d%c",a [i]);
}
printf (" ");
max=a [0]; /* 如果a [0]是最大值,则下表为0的元素最大/
for (i=0;i<6;i++)
{
if (a [i] > a [m]) /
如果a [i] > a [m] 还大/
m=i; /
假设一下a [i]是新的最大值,即下标为i的元素最大/
}
fprintf (fp,"%d %d ",a [m], m); /
输出最大值和其下标/
printf ("%d %d ",a [m], m); /
关闭文件*/
if (fclose (fp)) {
printf ("Can not close the file! ");
exit (0);
}
return 0;
}
2、遇到的问题
1、我的文件路径总是出错
解决办法:在观看完助教的视频,和询问杨浩成,把""换成"//",我直接查看文件的属性然后复制放在程序中。还有就是路径不能出现汉字。
2、我的代码中出现了一个错误
解决办法:百度了 把m=10换成了 m=a [0].。

由于我改了很多次,其中过程换了一些变量和程序,因此截图中变量会有所不同。请老师见谅。



原文地址:https://www.cnblogs.com/neir/p/10497003.html