
c语言之判断BMI是否正常
//输入每个同学的学号 姓名 性别(M/F) 出生年月日 身高(米) 体重(公斤) 是否过敏体质(Y/N) 高压 低压,判断其BMI(=w/h*h)是否正常(18.5~23.9为正常),然后输出不正常的同学信息
#include<stdio.h>
#include<string.h>
int main()
{
char name[100],NAME[200][200],*BMI,sex,tizhi; //定义姓名、BMI类型为字符串引用数组以及定义字符变量性别、体质
int year,mon,day,i=0,l; //定义出生年月日、及变量i、l
double number,high,weight,high_y,low_y,n[100]; //定义学号、身高、体重、高压、低压变量以及n
printf("请输入每个同学的学号 姓名 性别(M/F) 出生年月日 身高(米) 体重(公斤) 是否过敏体质(Y/N) 高压 低压n");
//
freopen(","w",stdout);
while(~scanf("%lf %s %c %d %d %d %lf %lf %c %lf %lf",&number,&name,&sex,&year,&mon,&day,&high,&weight,&tizhi,&high_y,&low_y))
{
if(weight/(high*high)>=18.5&&weight/(high*high)<=23.9) //判断其BMI是否正常
BMI="Medum";
else if(weight/(high*high)<18.5)
BMI="Low";
else
BMI="High";
printf("学号:%.0lf 姓名:%s 性别:%c 出生年月:%d/%d/%d 身高:%.2f 体重:%g 是否过敏体质:%c 高压:%.0f 低压:%.0f BMI:%sn",number,name,sex,year,mon,day,high,weight,tizhi,high_y,low_y,BMI);
if(BMI!="Medum") //若其BMI其正常,执行如下
{i++;
strcpy(NAME[i],name); //将那么的值复制给NAME
n[i]=number; //将number的值赋给n
}
}
printf("BMI不正常的同学:n"); //输出BMI不正常的同学的学号以及姓名
for(l=i;l>0;l--)
printf("学号:%.0lf 姓名:%sn",n[l],NAME[l]);
return 0;
}