前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文件的使用方式

文件的使用方式

作者头像
Vincent-yuan
发布2020-05-19 12:50:20
4350
发布2020-05-19 12:50:20
举报
文章被收录于专栏:Vincent-yuan

示例题目:

数据统计

输入一些整数,求出它们的最小值、最大值和平均值(保留3位小数)。输入保证这些书都是不超过1000的整数。

样例输入:

2 8 3 5 1 7 3 6

样例输出:

1 8 4.375

1.使用输入输出重定向的方式

代码语言:javascript
复制
#define LOCAL
#include<stdio.h>
#define INF 100000000
int main()
{
    #ifdef LOCAL
    freopen("data.in","r",stdin);
    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 %.3f\n", min,max,(double)s/n);
    return 0;
    
}

//重定向版本 

如果比赛要求用文件输入输出,但禁止用重定向的方式,又当如何呢?

代码语言:javascript
复制
#include<stdio.h>
#define INF 100000000
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(fin,"%d",&x)==1){
        s += x;
        if(x<min) min=x;
        if(x>max) max = x;
        n++;
    }
    fprintf(fout,"%d %d %.3f\n",min,max,(double)s/n);
    fclose(fin);
    fclose(fout);
    return 0;
}

//如果比赛要求用文件输入输出,但禁止用重定向方式,可以如上的fopen方式 
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档