C
言語Ⅱ模擬試験
[
構造体
]
解答
struct person
double sum =0;
double avg;
struct person student[3];
FILE *fp;
fp=fopen(
"test.txt"
,
"r"
);
fp==NULL
fscanf(fp,"%s",student[i].name);
fscanf(fp,"%lf",&student[i].h);
sum=sum+student[i].h;
avg=(double)sum/3.0;
<参考:すべ のプログラム>
#include<stdio.h>
struct person {
char name[10]; double h;
}; //person 言う名の構造体を作成
int main(void){
double sum =0; //合計値を入 変数 double avg; //平均値を入 変数
struct person student[3]; //構造体 studentを人分実体を作成。
FILE *fp;
fp=fopen("test.txt","r");
//ファイルを開くのを2行 記述
if (fp==NULL){
printf("error\n"); return 1;
} //ファイルエラー処理
for (i=0;i<3;i++){
fscanf(fp,"%s",student[i].name); //name要素を読 込 fscanf(fp,"%lf",&student[i].h); //h 要素を読 込 sum=sum+student[i].h; // h の合計値を計算 }
fclose(fp);
avg=(double)sum/3.0; //平均値を(double) 計算 printf("%lf\n",avg);