题目1.基础做业数组
请在第一周做业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请创建以本身英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的状况下,将最大值和对应的最小下标数值写入文件。学习
#include<stdio.h> #include<stdlib.h> int main(void) { FILE * fp = fopen("C:\\Users\\LILI\\Desktop\\work\\LI.txt", "a+"); int i, max; char ch; int a[10] = {0}; for(i = 0; i < 10; i++) { fscanf(fp,"%d%c", &a[i], &ch); max=0; } for(i = 0; i < 10; i++) { if(a[i]>a[max]) max=i; } fprintf(fp,"\n%d %d", a[max], max); fclose(fp); return 0; }
(这里的文件名和文件夹名不一样于结果的是由于我开始觉得是文件路径错误致使的问题,因此将文件夹名与文件名进行了修改,结果发现不是这个缘由)
遇到的问题:最大值与其的最小下标没法写入文件
解决的办法:我检查了每一步,改了文件名都没有找到缘由,实在找不到缘由了就去问了助教,结果发现是我文件中的逗号用的是中文的,因此不能被读出来。设计