2019年春季学期第二周作业
基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
(1)实验代码
#include<stdio.h>
#include<stdlib.h>
int main (void)
{
FILE*fp;
int i,n,x,y;
char a[10];
if((fp=fopen("E:\pengcan.txt","w+"))==NULL)
{
printf("File open error!
");
exit(0);
}
scanf("%d",&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,"
%d %d",x, y);
printf("%d %d
",x,y);
if(fclose(fp)){
printf("Can not close the file!
");
exit(0);
}
return 0;
}
(2)设计思路
(3)问题及解决办法
问题1:i does not name a type
解决办法:写完代码后发现总是运行不了,后面检查发现自己的 } 括号位置错了,导致 i 没有定义。
问题2:输出的格式不对
解决办法:参考了其他同学的,发现输出的时候,要换行
(4)运行结果截图
总结:第一次接触指针和文件,所以有一点不熟悉,刚开始有点不知道怎么去写,后面看了书上的例题后,知道了文件的基本用法,然后自己慢慢写就有了头绪。
这次编程收获也是多的,要多尝试自己动手才能更熟练。耗时两个小时。