标签:fp 下标 max 作业 春季 逗号 第二周 printf op
2019年春季学期第二周作业 基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。
并将最大值和对应的最小下标数值写入文件。
输入: 请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出 在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
#include<stdio.h>
#include<process.h>
#include<stdlib.h>
int main()
{
FILE *fp;
int i,j,k,max;
int a[7];
char op;
if((fp = fopen ("D:\\xia-unun.txt","a+")) == NULL)
{
printf("File open error!\n");
exit(0);
}
for(i = 0; i < 8; i++ ){
fscanf(fp,"%d%c",&a[i],&op);
printf("%d%c",a[i],op);
}
max = a[0];
for(j = 0; j < 8; j++){
if(a[j] > max){
max = a[j];
k = j;
}
}
fprintf(fp,"\n%d %d",max,k);
printf("\n%d %d",max,k);
if (fclose(fp)){
printf("Can not close the file!\n");
exit(0);
}
return 0;
}
运行结果:
由于之前的错误截图没有截屏所以只有最后的这个截图:
过程中出现的问题:
1,代码运行出来的结果是一堆乱码。
解决方法:询问大腿搭档,发现问题是文本中数据隔开的逗号使用的是中文逗号,然后更改为英文逗号。
2,代码运行成功后答案不正确。
解决方法:在33行if(a[j]>max)后面加上{},就解决了。
3,元素之间用逗号隔开,但没对逗号进行编译。
解决方法:加入了字符型op。
设计思路:
流程图好像有逻辑错误,反正感觉有点奇怪
标签:fp,下标,max,作业,春季,逗号,第二周,printf,op 来源: https://www.cnblogs.com/xia-unun/p/10498337.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。