批量求和(文件)

发布时间:2024年01月11日

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

函数原型
 

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

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

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

要求:输出结果保留 2 位小数。

裁判程序
#include <stdio.h>
#include <stdlib.h>

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

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

C程序如下:

void BatchAdd(FILE *in, FILE *out) {  
    double a, b; // 定义双精度浮点数变量a和b,用于存储从输入文件中读取的两个实数  
  
    // 使用while循环从输入文件中读取数据,直到到达文件末尾(EOF)  
    while (fscanf(in, "%lf %lf", &a, &b) != EOF) { // fscanf函数从in所指文件中读取格式化的输入,并存储到a和b中,直到到达文件末尾或格式化输入结束  
        // 使用fprintf函数将a和b的和写入输出文件,保留两位小数,并换行以表示每个结果的结束  
        fprintf(out, "%.2lf\n", a + b);   
    } // BatchAdd函数定义结束  
}
文章来源:https://blog.csdn.net/2302_80325489/article/details/135444517
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。