基础作业
基础作业:
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
挑战作业:
有能力的同学可以挑战一下:
给定一个整数数组(包含正负数),找到一个具有最大和的子数组,返回其最大的子数组的和。
具体要求参看邹欣老师博客 现代程序设计作业2
基础作业是必做项,挑战作业作为加分项。
以上两项作业,完成后请写好编程总结,并在博客园提交。
编程总结要求:
格式标准,程序正确,思路清晰(有流程图),有对自己作业的评价(存在的问题和解决办法、心得、完成作业的时间消耗),程序运行结果的截图或者效果录像。
实验代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main (void)
{
FILE *fp;
int i,N,index;
char a[10];
if((fp=fopen("E:\C\Klausyzx.txt","a+"))==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[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;
fprintf(fp,"
%d %d",a[index],index);
if(fclose(fp)){
printf("Can not close the file!
");
exit(0);
}
return 0;
}
流程图:
运行结果截图:
遇到的问题及解决方案
不会使用指针和将文件和代码连接,看了助教的教学视频和问了助教一些问题以后大致了解了如何操作