2019年春季学期第二周作业
一、本周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出:
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1、实验代码
# include <stdio.h>
# include <string.h>
# include <stdlib.h>
int main (void)
{
FILE * fp;
int i,n,t,m=0;
char op=',';
scanf ("%d",&n);
int a[n];
if ((fp=fopen("E:\\C语言\\dengbo.txt","w+"))==NULL)
{
printf ("File open error!\n");
exit (0);
}
fprintf (fp,"%d\n",n);
for (i=0;i<n;i++)
{
scanf ("%d",&a[i]);
fprintf (fp,"%d%c",a[i],op);
}
t=a[0];
for (i=0;i<n;i++)
{
if (t<a[i])
{
t=a[i];
m=i;
}
}
fprintf (fp,"\n");
fprintf (fp,"%d %d",t,m);
if (fclose(fp))
{
printf ("Can not close the file!\n");
exit (0);
}
return 0;
}
2、设计思路
3、本题调试过程碰到问题及解决方法
问题1:该程序无法运行;
解决方案:通过对比书上的示例,发现定义的整型数组的数组长度没有写定,即输入语句的位置放错了,便将scanf语句放 在数组前。
错误截屏
问题2:没有考虑换行和输出格式问题;
解决方案:通过与题中格式要求对照,在错误的代码中加入换行符‘\n’和字符‘,’。
错误截屏
4、运行结果截图
二、学习进度条
三、学习感悟
本次作业是在上周作业的基础上补充完成的,所以写出代码没有用多长时间,但由于一些格式问题,耽误了些时间,直到正确答案出来总共花了一个小时。虽然不是很难,但是对于代码中的一些英文不是很熟练,需要对照书才能写出来,也许是因为第一次做这种类型的题吧,总之需要多练习!