如下函数的作用是以双倍行距输出文件: void double_space(ifstream& f, ofstream& t){ char c; while (______) { ______; if (c == '\n')t.put(c); } }画线处缺失的部分是A.f.get(c)与t.put(c)B.f.put(c)与t.get(c)C.t.get(c)与f.put(c)D.t.put(c)与f.get(c)

题目

如下函数的作用是以双倍行距输出文件: void double_space(ifstream& f, ofstream& t){ char c; while (______) { ______; if (c == '\n')t.put(c); } }画线处缺失的部分是

A.f.get(c)与t.put(c)

B.f.put(c)与t.get(c)

C.t.get(c)与f.put(c)

D.t.put(c)与f.get(c)


相似考题
更多“如下函数的作用是以双倍行距输出文件: void double_space(ifstream& f, ofstream& t ”相关问题
  • 第1题:

    函数ReadDat()实现从文件IN.dat中读取1000个十进制整数到数组xx中;请编写函数 Compute()分别计算出数组xx中奇数的个数odd、偶数的个数even,以及所有数的平均值aver和方差totfc的值。最后调用函数WriteDat(),把结果输出到OUT. dat文件中。

    计算方差的公式如下:

    原始数据文件存放的格式是:每行存放10个数(每个数均大于0且小于等于2000),并用逗号隔开。

    注意:部分源程序已经给出。请勿改动主函数main()、读函数ReadDat()和输出数据函数 WriteDat()的内容。

    include <stdio. h>

    include <stdlib. h>

    include <string. h>

    define MAX 1000

    int xx[MAX], odd = 0, even = 0;

    double aver = 0.0, totfc = 0.0;

    void WriteDat(void);

    int ReadDat(void)

    { FILE *fp;

    int i, j;

    if ((fp = fopen("IN. dat", "r")) == NULL)

    return 1;

    for (i=0; i<100; i++)

    { for (j=0; j<10; j++)

    fscanf(fp, "%d,", &xx[i*10+j]);

    fscanf(fp, "\n");

    if (feof(fp))

    break;

    }

    fclose(fp);

    return 0;

    }

    void Compute(void)

    {

    }

    void main ()

    { int i;

    for (i=0; i<MAX; i++)

    xx[i] = 0;

    if (ReadDat())

    {

    printf (" 数据文件 IN. dar 不能打开! \007\n");

    return;

    }

    Compute ( );

    printf("odd=%d\neven=%d\naver=%f\ntotfc=%f\n", odd, even, aver, totfc);

    WriteDat ();

    }

    void WriteDat(void)

    { FILE *fp;

    fp = fopen("OUT.dat", "w");

    fprintf(fp, "%d\n%d\n%f\n%f\n", odd, even, aver, totfc);

    fclose (fp);

    }


    正确答案:void Compute (void) { int i; for (i=0; i1000; i++) { if (xx [i] %2) odd++; else even++; aver = aver+ xx[i]; } aver /= MAX; for (i=0; i1000; i++) totfc += (xx[i]-aver)*(xx[i]-aver)/MAX; } [解题思路] 对数组xx[i]中的1000个整数逐个进行扫描处理如果xx[i]对2的余数为 1则xx[i]为奇数变量odd加1;否则xx[i]为偶数变量even加1。把xx[i]的值与变量aver相加存入变量aver中。退出循环时变量aver的值除以MAX就得到平均值。最后在for循环语句中根据方差的公式求出所有数的方差。
    void Compute (void) { int i; for (i=0; i1000; i++) { if (xx [i] %2) odd++; else even++; aver = aver+ xx[i]; } aver /= MAX; for (i=0; i1000; i++) totfc += (xx[i]-aver)*(xx[i]-aver)/MAX; } [解题思路] 对数组xx[i]中的1000个整数逐个进行扫描处理,如果xx[i]对2的余数为 1,则xx[i]为奇数,变量odd加1;否则xx[i]为偶数,变量even加1。把xx[i]的值与变量aver相加存入变量aver中。退出循环时,变量aver的值除以MAX就得到平均值。最后在for循环语句中根据方差的公式求出所有数的方差。

  • 第2题:

    下面函数的作用是以双倍行距输出文件:

    void test(ifstream&outf,ofstream&outC) {

    char c;

    while(______){

    ______;

    if(c=='\n')outc.put(C) ;

    }

    }

    下划线处缺失的代码是( )。

    A.outf.put(C) 与outc.get(C)

    B.outf.put(C) 与outc.get(C)

    C.outf.get(C) 与outc.put?

    D.outf.get(C) 与outc.put?


    正确答案:D
    解析:ifstream是文件输入流类,只能用于输入,它没有提供任何用于输出的操作。ofstream是文件输出流类,只能用于输出,它没有提供任何用于输入的操作。从文件中输入字符要用文件输入流类引用outf,并调用其输入字符的成员函数get()。根据题目中的要求,可以看出当输入文件中读到换行符时,程序将在输出文件中两次输出换行符,即双倍行距。outc.put(C) 为输出一个字符,因为“if(c=='\n')coutc.put(C) ;”此句,当c为间格字符(行距字符)时,再多输出一次outc.put(C) 。

  • 第3题:

    已知某函数定义:void f () { … }正确的函数调用形式是

    A.f

    B.f ()

    C.f(void)

    D.f(1)


    B

  • 第4题:

    编写函数jsValue(int t),它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) (n≥2) 最后调用函数writeDat读取l0个数据t,分别得出结果且把结果输出到文件out.dat中。 例如:当t=1000时,函数值为:1597。 注意:部分源程序存在test.c文件中。 请勿改动数据文件in.dat中的任何数据、主函数main和写函数writeDat的内容。


    正确答案:
    【审题关键句】F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n2)。
    【解题思路】
    ①定义表示Fibonacci数列中第F(n-2)项的变量f0,第F(n-1)项的变量n,第F(n)项的变量f2。
    ②当Fibonacci数列中第F(n)项的值f2小于t时,把数列当前第F(n-1)项的值n赋给f0,把数列当前第F(n)项的值f2赋给n,根据Fibonacci数列的递推关系,第n项的值等于第n-1项的值与第n-2项值的和,计算数列当前第n+1项的值f2= f0+n。依次循环,当f2的值大于t时,退出while循环,把f2的值返回。
    【参考答案】

  • 第5题:

    f(x)是以T为周期的可微函数,则下列函数重以T为周期的函数是( )


    答案:D
    解析: