一、本周的作业
2019年春季学期第二周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出:
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1)实验代码
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
FILE *fp;
int n, i, max;
int a [10];
if((fp=fopen("D:\tanghenghui\txt","w+"))==NULL)
{
printf("File open error!
");
exit(0);
}
scanf ("%d",&n);
fprintf (fp,"%d
",n);
for (i=0;i<n;i++) {
scanf ("%d",&a[i]);
fprintf (fp,"%d ",a[i]);
}
fprintf (fp,"
");
max=0;
for (i=0;i<n;i++)
if (a[i]>a[max]){
max=i;
}
printf("%d %d",a[max],max);
fprintf(fp,"%d %d",a[max],max);
if(fclose(fp))
{
printf("Can not close the file!
");
exit(0);
}
return 0;
}
2)设计思路
3)本题碰到的问题及解决方法
+
问题:记事本不显示结果
方法:刚开始我一直以为先要把先输入的数字在记事本上保存好,然后在DEV上运行再次输入数字,运行程序。然而记事本上没有结果,后来才知道“w+”是可以写和建立一个文本的
+
问题:输出结果问题
方法:Dev输出的格式和记事本不一样,后来知道要同时写printf和fprintf
4)实验结果
二、学习进度条
三、学习感悟
刚接触这个文件的数据处理,不知道怎么动手,后来反复看一下书和教学视频才懂的一些,还是要多学习。