文件
2019年春季学期第二周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及
其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写
入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间
用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文
件。
挑战作业
有能力的同学可以挑战一下:
给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其
最大的子数组的和。
具体要求参看邹欣老师博客 现代程序设计作业2
基础作业是必做项,挑战作业作为加分项。
以上两项作业,完成后请写好编程总结,并在博客园提交。
编程总结要求:
注册 登录
2019年春季学期第二周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
挑战作业
有能力的同学可以挑战一下:
给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
具体要求参看邹欣老师博客 现代程序设计作业2
基础作业是必做项,挑战作业作为加分项。
以上两项作业,完成后请写好编程总结,并在博客园提交。
编程总结要求:
格式标准,程序正确,思路清晰(有流程图),有对自己作业的评价(存在的问题和解决办法、心得、完成作业的时间消耗),程序运行结果的截图或者效果录像。
实验代码:
include
include
include
int main (void)
{
FILE *fp;
int i,N,index;
char a[10];
if((fp=fopen("D:\c++\husiyu.txt","w+"))==NULL)
{
printf("File open error!\n");
exit(0);
}
scanf("%d\n",&N);
fprintf(fp,"%d\n",N);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
fprintf(fp,"%d",a[0]);
for(i=1;i<N;i++)
fprintf(fp,",%d",a[i]);
index=0;
for(i=1;i<N;i++)
if(a[i]>a[index])
index=i;
printf("%d %d",a[index],index);
fprintf(fp,"\n%d %d",a[index],index);
if(fclose(fp)){
printf("Can not close the file!\n");
exit(0);
}
return 0;
}
设计思路:
本周学习进度表:
周/日期 | 这周所花的时间 | 代码长度 | 学习内容 | 比较迷惑的方面 |
---|---|---|---|---|
3/3-3/9 | 1.5h | 36行 | 文件的创建和写入 | 指针的运用 |
总结:
1:不知道运用那种文件打开方式
解决:只能用“w“和“w+”打开最好
2.不了解各种输入,输出语句(scanf,fscanf,printf,fprintf)的区别
解决:scanf用于编译器(屏幕)的输入。fscanf用于直接输入到文件中