算法竞赛入门经典 2.3 文件操作

 //例题2-4 整数统计(C语言)
//输入一些整数,求出它们的最小值、最大值和平均值(保留3位小数)。
//数据统计(重定向版)
#define LOCAL			//定义符号
#include<stdio.h>
#define INF 1000000000

int main()
{
#ifdef LOCAL
	freopen("data.in","r",stdin);  //调用freopen函数用于打开文件,这里有三个参数
					//第一个参数为文件名,第二个参数为打开方式(这里是打开一个用于读取的文本文件)
					//第三个参数是文件流(标准输入)
	freopen("data.out","w",stdout);
#endif
	int x,n=0,min=INF,max=-INF,s=0;
	while(scanf("%d",&x)==1)
	{
		s+=x;
		if(x<min) min=x;
		if(x>max) max=x;

	printf("x=%d, min=%d, max=%d\n",x,min,max);
	n++;
	}
	printf("%d %d %.3lf\n",min,max,(double)s/n);
	return 0;
}

//程序2-9 数据统计(fopen版)
#include<iostream>
#define INF 1000000000

int main()
{
	FILE *fin,*fout;
	fin=fopen("data.in","rb");
	fout=fopen("data.out","wb");
	int x,n=0,min=INF,max=-INF,s=0;
	while(fscanf(stdin,"%d",&x)==1)
	{
		s+=x;
		if(x<min) min=x;
		if(x>max) max=x;
		n++;
	}
	fprintf(stdout,"%d %d %.3lf\n",min,max,(double)s/n);
	fclose(fin);
	fclose(fout);
	return 0;
}

posted on 2012-03-25 20:05  1.曲待续  阅读(186)  评论(0编辑  收藏  举报

导航