C言語についてです。
EXELEファイルから値を読みこんで、各自のBMIと全体の身長・体重の平均値を求めるプログラムを作成したいんですが…C言語で…。途中までで混乱してしまい、あっているかも分からないのでお願いしたいです。よろしくお願いします。ヒントだけでもありがたいです。
下がそのファイルです。
height weight
170.7 52.9
166.8 71.3
171.4 58.5
173.4 76.7
176.1 80.2
184 89.1
179 64.7
177.2 78.5
177.7 80.7
173.8 64
167.7 60.3
181.6 72.3
162.4 53
177.4 69.6
178 76.4
174 77.2
185.4 86
172 68.5
172.7 60
166.5 62
171.3 69.6
177 79
174.8 82.6
167.5 69.2
176.8 80.1
181.5 76
177.3 76.4
169.4 51.8
165.2 73.2
175.3 72.3
181.5 72.4
171.5 68.8
176 73.2
186 99.8
167.3 65.5
176.1 78
183.3 77.2
177.5 59.5
180.3 62
171.2 74.7
175 87.2
176 80
171.8 50.6
平均身長の値を出すプログラムは出ているので…これもあわせてBMIと平均体重出してくれるとうれしいです。
/* basic claculation */
#include <stdio.h>
#include <math.h>
int main(void)
{
int i, ii;
int ntotal;
double sum_height;
double weight[50], height[50];
double mean_height;
char w[6],h[6];
FILE *fp;
/* initial setting */
/* ntotal: total word number */
/* sum : total character number */
ntotal = 0;
sum_height = 0;
/* file open */
/* my data file is weight-height.data */
/* which is in my root directory */
fp = fopen("./weight-height.data","r");
/* skip character reading. */
fscanf(fp,"%s,%s",w,h);
/* ntotal: total number */
/* sum : total value */
for (i=0;i<=47;i++)
{
if (feof(fp)) break;
fscanf(fp,"%lf,%lf",&weight[i],&height[i]);
printf(" weight = %lf height = %lf \n",weight[i],height[i]);
sum_height = sum_height + height[i];
}
fclose(fp);
ntotal = i;
printf(" 全人数 = %d \n",ntotal);
mean_height = sum_height /ntotal;
printf(", 平均身長 = %lf \n",mean_height);
return(0);
}
お礼
缶部分の重量はN/Wに含まないのですね。 ありがとうございます。 すっきりしました!