第二周作业
---恢复内容开始---
题目 请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。 输入: 请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。 输出 在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。1.源代码
include<stdio.h>
include<stdlib.h>
int main(void)
{
FILE *fp;
int i,index,n;
int a[20];
if((fp=fopen("C:\Users\hp\Desktop\gaotain\gao.txt","a+"))==NULL)
{
printf("FILE open error!\n");
exit(0);
}
fscanf(fp,"%d",&n);
for(i=0;i<n;i++){
fscanf(fp,"%d",&a[i]);
}
index = 0;
for(i=0;i<n;i++){
if(a[i]>a[index]){
index = i;
}
}
fprintf(fp,"\n%d %d",a[index],index);
if(fclose(fp)){
printf("Can not close the file!\n");
exit (0);
}
return 0;
}
2,设计思路

3遇到的问题及解决方法
文件打不开,如图所示

解决;文件的类型有问题,
将文件改文件能打开但是数值没有变化,解决:比较了a+和w+的用法,发现两种都可以
区别了scanf,fscanf,printf,fprintf。scanf,printf用于直接的输入和输出;fscanf和fprintf用于直接将数据输入和输出到文件夹
4.结果运行图

5.心得
每一节课都要好好听课,这样自己才能学到更多的知识,这次做题,本来是结队编程,鉴于搭档 “太安静不喜欢说话” 自己一个人做了,只想说做题时一定要全神贯注,当错误时就要找问题了,很享受做题的时间,想出来了是特别有成就感的事情。

浙公网安备 33010602011771号