2019年春季学期第二周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
1.代码
#include<bits/stdc++.h>
int main (void)
{
FILE *fp;
int a[10];
int i,x=0,y=0,n;
if ((fp=fopen("D:\wangyaqiong.txt","r+"))==NULL){
printf("File open error!\n");
exit(0);
}
scanf("%d",&n);
fprintf(fp,"%d\n",n);
for(i=0;i<n;i++){
scanf("%d, ",&a[i]);
fprintf(fp,"%d,",a[i]);
}
x=a[0];
for(i=0;i<n;i++)
if(a[i]>x){
x=a[i];
y=i;
}
fprintf(fp,"\n%d %d",x,y);
if(fclose(fp)){
printf("Can not close the file!\n");
exit(0);
}
return 0;
}
2.思路总结
3.本题遇到的问题及解决办法
问题:将i的定义范围弄错,fscanf()和fprintf()用法弄错,导致运行输出乱码
解决办法:翻看书本,询问同学,弄懂了fscanf()和fprintf()的用法,且发现自己将题目条件弄错,应将i<6改成i<n
4.运行结果截图
5.学习进度条