题目
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
实验代码
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
FILE*fp;
int a[6];
int i;
if((fp=fopen("C:\Users\LENOVO\Desktop\qzy\qzy.txt","a+"))==NULL){
printf("File open error!
");
exit(0);
}
for(i=0;i<6;i++)
fscanf(fp,"%d",&a[i]);
for(i=0;i<6;i++)
printf("%d",a[i]);
int index;
index=0;
for(i=0;i<6;i++)
{
if(a[i]>a[index])
index=i;
}
printf("
%d %d",a[index],index);
fprintf(fp,"
%d %d",a[index],index);
if(fclose(fp)){
printf("Can not close the file!
");
exit(0);
}
return 0;
}
思维导图
错误截图
遇到的问题及解决方法
问题:没有注意输出的格式导致结果是乱码
解决方法:去掉16行中的&