zoukankan      html  css  js  c++  java
  • 文件的使用方式

    示例题目:

    数据统计

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

    样例输入:

    2 8 3 5 1 7 3 6

    样例输出:

    1 8 4.375

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

    #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
    ",x,min,max);
            */
            n++;
        }
        printf("%d %d %.3f
    ", min,max,(double)s/n);
        return 0;
        
    }
    
    //重定向版本 

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

    #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
    ",min,max,(double)s/n);
        fclose(fin);
        fclose(fout);
        return 0;
    }
    
    //如果比赛要求用文件输入输出,但禁止用重定向方式,可以如上的fopen方式 
  • 相关阅读:
    Hessain 方法重载
    mac 类似Xshell
    idea & datagrip 注册码
    mac 安装mysql 修改密码
    securecrt 的安装
    datagrip的使用
    mac 安装oracle
    mac 安装mysql
    destoon 会员整合Ucenter/Discuz!/PHPWind教程
    destoon 深度整合discuz x2 UC 之免邮箱二次验证
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/12879484.html
Copyright © 2011-2022 走看看