第二周编程总结
第二周编程总结
基础题目第二题
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1.实验代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE * fp;
int j,max,n;
scanf(“%d”,&n);
int a [n];
char op=’,’;
if((fp = fopen (“D:\\liuyingjun.txt”,”a+”)) == NULL)
{
printf (“File open error!\n”);
exit(0);
}
for(j=0;j<n;j++)
fscanf (fp,”%d%c”,&a [j],&op);
max=0;
for(j=1;j<n;j++)
if(a [j]>a[max])
max=j;
fprintf (fp,”\n%d %d”,a [max],max);
if(fclose (fp) ){
printf (“Can not close the file!\n”);
exit(0);
}
return 0;
}
2.设计思路
3.在调试的过程中遇到的问题及解决方法
诶,刚刚开学的我学习这些确实学不懂,一脸懵逼。在上两周的两节专业课中我上课真的是没听懂什么,我想了想我根本在上课之前就没去看书没去预习自己去研究怎么会听懂?所以在这次作业中,我把数组,指针,文件操作三个在查阅书和网上资料才勉强了解数组与指针,至于应用过程中我都是向跟室友们询问,比如定义指针变量 FILE * fp;这个我就不懂什么意思我百度查了一下,FILE是变量类型,用于文件,而fp是指针用于指向变量类型对象。之后就是fp = fopen (“D:\\liuyingjun.txt”,”a+”中的fopen函数,这个意思是打开D磁盘中的地址用于读,不过还是有i点迷。对于最后的那个“a+”我看了助教的视频了解了他的含义。最后不懂的就是输入时scanf为什么是fscanf?百度之后是因为fscanf 用于从文件读入数据,scanf 从键盘读入数据。总的来说我这些学的东西都是新的知识还需自己去学去弄懂,其实之前的学习我也还有很多不会的编程语法不会现在正在学,真的是玩去了没怎么用心。
4.编程截屏