2019年春季学期第二周作业

2019年春季学期第二周作业

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

1. 代码块

#include<stdio.h>
#include<stdlib.h>
int main()
{
	FILE*fp;/*定义指针文件*/
	int i,a[10],n,b=0,t=0;
	/*打开文件,进行写入操作*/ 
	if((fp=fopen("D:\\2019年春季学期第二周作业\\chenjianxiong.txt","w"))==NULL){
		printf("File open error!\n");
		exit(0);
	}
	scanf("%d",&n);
	fprintf(fp,"%d\n",n);
for(i=0;i<n;i++){
		scanf("%d",&a[i]);
    fprintf(fp,"%d,",a[i]);
    }
	b=a[0];
	for(i=1;i<n;i++)
	if(b<a[i]){
		b=a[i];
		t=i;
    }
    fprintf(fp,"\n%d %d\n",b,t);/*写入文件*/
    
    /*关闭文件*/ 
    if(fclose(fp)){
    	printf("Can not close the file!\n");
    	exit(0); 
	}
	return 0;
}

2. 设计思路

此次代码编写是根据用户信息加密和校验进行改编而来,相对来说。这个题目只需在中间换上上次所编写的程序就ok了。其他定义指针文件,打开文件,写入文件,关闭文件等等都是一样的。
流程图:

3. 对自己作业的评价

问题和解决办法:在初次运行时,文本文档中是空白的,这是就比较纳闷了,于是就叫室友过来帮我看了看,原因出在了写入地址时没有表明在那个文档,也没有双斜杠(我自己开始写的地址:chenjianxiong.txt)除了这个错误。还有一个错误就是在主函数编写过程中循环过头了,导致答案为每个数组值和其下表数,当时的我还不是很清楚此题所要的答案是啥,也是在室友的点拨下去掉了一个大的循环。最后答案就正确了。
心得:此次做也自我感觉很好,有点感觉,很棒,以后继续加油。
完成作业的时间消耗:三四十分钟左右

4.程序运行结果的截图


posted @ 2019-03-06 13:23  chenjianxiong  阅读(216)  评论(1编辑  收藏  举报