题目:
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
实验代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE*fp;
int max,i;
int a[10];
if((fp=fopen("D:\dengjun.txt","r+"))==NULL){
printf("File open error!
");
exit (0);
}
for(i=0;i<6;i++){
fscanf(fp,"%d",&a[i]);
}
max=0;
for(i=1;i<6;i++){
if(max<a[i])
max=a[i];
}
for(i=0;i<6;i++){
if(max==a[i])
fprintf(fp,"
%d %d",max,i);
}
if(fclose(fp))
{
printf("Can not close the file!
");
exit(0);
}
return 0;
}
设计思路:
本题遇到的问题及解决方法
解决:没有找到文件,因为在建立文件时候没有在意类型导致在文件末尾多了一个txt.
问题二:
解决:在输出的时候没有把输出在文件里导致错误,应该在括号里加一个fp.
运行截图:
学习进度条: