基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1.实验代码
#include<stdio.h>
#include<stdlib.h>
int main(){
int n,i,j;
FILE *fp;
if((fp=fopen("D:\chenxiaoqiang.txt","a+"))==NULL){
printf("File open error!
");
exit (0);
}
fscanf(fp,"%d",&n);
int a[100];
for(i=0;i<n;i++){
fscanf(fp,"%d",&a[i]);
}
for(j=0;j<n;j++){
if(a[0]<a[j]){
a[0]=a[j];
i=j;
}
if(a[0]==a[j]){
a[0]=a[j];
if(i>j){
i=j;
}
}
}
printf("%d %d",a[i],i);
fprintf(fp,"
%d %d",a[i],i);
if(fclose (fp)){
printf("Can not close the file!
");
exit (0);
}
return 0;
}
2实验思路
3实验截图
4自我评价
心得:经过此次作业发现自己存在许多问题,例如所学知识不牢固等.
完成作业的过程中存在的问题有:所建立的文件为空白,导致程序结果为随机数.
解决方法:在建立文件中输入示例.
完成作业耗时:4小时左右.