c语言中使用fscanf函数从文件读取数据(逐行读取并保存变量)

1、

#include <stdio.h>

int main(void)
{
    FILE *fp;
    int lines = 0;
    char name[128];
    double height, weight;
    double hsum = 0, wsum = 0;
    
    if((fp = fopen("a.txt", "r")) == NULL)
        printf("aFile open failed.
");
    else
    {
        while(fscanf(fp, "%s%lf%lf", name, &height, &weight) == 3)
        {
            printf("%-10s %5.1f %5.1f
", name, height, weight);
            lines++;
            hsum += height;
            wsum += weight;
        }
        puts("
==================================
");
        printf("average   %5.1f %5.1f
", hsum/lines, wsum/lines);
        fclose(fp); 
    }
    return 0;
}

#include <stdio.h>

int main(void)
{
    FILE *fp;
    int lines = 0;
    char name[128];
    double height, weight;
    double hsum = 0, wsum = 0;
    
    if((fp = fopen("a.txt", "r")) == NULL)
        printf("aFile open failed.
");
    else
    {
        while(fscanf(fp, "%s%lf%lf", name, &height, &weight) != EOF)
        {
            printf("%-10s %5.1f %5.1f
", name, height, weight);
            lines++;
            hsum += height;
            wsum += weight;
        }
        puts("
==================================
");
        printf("average   %5.1f %5.1f
", hsum/lines, wsum/lines);
        fclose(fp); 
    }
    return 0;
}

原文地址:https://www.cnblogs.com/liujiaxin2018/p/14872251.html