基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。
实验代码:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
FILE * fp = fopen("C:\\Users\\lenovo\\Desktop\\yuyuetech.txt", "a+");
int i, max;
char ch;
int a[10] = {0};
for(i = 0; i <= 6; i++)
{
fscanf(fp,"%d%c", &a[i], &ch);
printf ("%d%c",a [i],ch);
max=0;
}
for(i = 0; i <= 6; i++)
{
if(a[i]>a[max])
max=i;
}
fprintf(fp,"\n%d %d", a[max], max);
printf("\n%d %d", a[max], max);
fclose(fp);
return 0;
}
设计思路:
本题调试过程碰到问题及解决办法:
遇到问题:
编译无错误,运行时发现显示错误,多出3个0
解决办法:
for语句内的循环改动,改为i<=6
运行结果截图:
成功完成任务,并且显示正确
心得:
这是本人头一次接触用代码读取文件并更改文件内容,这对我来说比较复杂,我一直修改代码也总是出现各种小错误,以后要更加努力学习。