2019年春季学期第二周作业

基础作业
请在第一周作业的基础上,继续完成:找出给定的文件中数组的最大值及其对应的最小下标(下标从0开始)。并将最大值和对应的最小下标数值写入文件。
输入:
请建立以自己英文名字命名的txt文件,并输入数组元素数值,元素值之间用逗号分隔。
输出
在不删除原有文件内容的情况下,将最大值和对应的最小下标数值写入文件。

实验代码

include<stdio.h>

include<stdlib.h>

int main()

{
FILE*fp;
int j,i,max;
int a[10];
char op;
if((fp=fopen("C:\mt星\ldh.txt","r+"))==NULL){
printf("File open error!");
exit(0);
}
for(i=0;i<10;i++){
fscanf(fp,"%d%c",&a[i],&op);
printf("%d%c",a[i],op);
}
a[max]=0;
for(j=0;j<10;j++){
if(a[j]>a[max]){
a[max]=a[j];
max=j;
}
}
fprintf(fp,"\n%d %d",a[max],max);
if(fclose(fp)){
printf("Can not close the file!");
exit(0);
}
return 0;
}

设计思路

 

遇到的问题及解决办法

 

问题:不知道如何加上逗号

解决办法:通过询问同学得知可以在for循环读取数字同时读取逗号fscanf(fp,"%d%c",&a[i]);

 

运行结果

 

posted @ 2019-03-09 17:40  吴仲通  阅读(94)  评论(1编辑  收藏  举报