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; }