6-4 批量求和(*) (20分)

请编写函数,从一个文件中读取实数求和,并将结果写入另一个文件。
函数原型

void BatchAdd(FILE *in, FILE *out);

说明:参数 in 和 out 为指示两个文件的指针。函数从 in 所指文件中的读出数据,将结果写入 out 所指的文件中。

要求:in 所指文件中有很多行,每行包含两个实数,以空格间隔。函数求出这两个实数的和,写入 out 文件中,每行一个结果。

要求:输出结果保留 2 位小数。
裁判程序

#include 
#include 

void BatchAdd(FILE *in, FILE *out);

int main()
{
    FILE *in, *out;

    in = fopen("Addition.txt", "r");
    out = fopen("Sum.txt", "w");

    if (in && out)
    {
        BatchAdd(in, out);
    }
    else
    {
        puts("文件无法打开!");
    }

    if (in)
    {
        fclose(in);
    }
    if (out)
    {
        fclose(out);
        puts("文件保存成功!");
    }

    return 0;
}

/* 你提交的代码将被嵌在这里 */

在程序所在文件夹中创建文本文件“Addition.txt”,复制下面的内容:

Addition.txt

25.9 8.7
120.9 87.518
12.8 65.2

输入样例

()

输出样例

文件保存成功!

程序运行结束后,打开“Sum.txt”文件,查看文件内容。

34.60
208.42
78.00
void BatchAdd(FILE *in, FILE *out)
{
    int i;
    double a,b;
    while(fscanf(in,"%lf %lf",&a,&b)!=EOF)
    {
        fprintf(out,"%.2lf\n",a+b);
    }
}

你可能感兴趣的:(6-4 批量求和(*) (20分))