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.\n");
    else
    {
        while(fscanf(fp, "%s%lf%lf", name, &height, &weight) == 3)
        {
            printf("%-10s %5.1f %5.1f\n", name, height, weight);
            lines++;
            hsum += height;
            wsum += weight;
        }
        puts("\n==================================\n");
        printf("average   %5.1f %5.1f\n", 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.\n");
    else
    {
        while(fscanf(fp, "%s%lf%lf", name, &height, &weight) != EOF)
        {
            printf("%-10s %5.1f %5.1f\n", name, height, weight);
            lines++;
            hsum += height;
            wsum += weight;
        }
        puts("\n==================================\n");
        printf("average   %5.1f %5.1f\n", hsum/lines, wsum/lines);
        fclose(fp); 
    }
    return 0;
}

 

posted @ 2021-06-10 18:10  小鲨鱼2018  阅读(7076)  评论(0编辑  收藏  举报