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方式 
  • 相关阅读:
    spring四种依赖注入方式
    java利用反射来调用一个类的私有方法
    IOC和AOP的基本概念
    开业大吉
    1752年9月奇怪的日历
    找到一个软件测试的学习网址,保留一下
    学习任务
    操作系统的第一次作业
    答题
    第四章读后感
  • 原文地址:https://www.cnblogs.com/Vincent-yuan/p/12879484.html
Copyright © 2011-2022 走看看