Измените тип возвращаемого значения на char *
, затем верните указатель на строки различных категорий.
Вам также необходимо заполнить чеки для различных уровней bmi.
Очень похоже на домашнюю работу; пожалуйста, отметьте это как таковой.
Вот мое решение ... но я рандомизировал порядок строк, так как вам нужно сделать свою домашнюю работу. В этом должно быть несколько подсказок, таких как struct
и строки return
.
scanf("%f",&height);
struct bmicategory {
}
{18.5, "normal"},
return categories[i-1].name;
float bmi = weight / (height * height);
struct bmicategory categories[] = {
printf("enter weight (in kg): ");
};
char *name;
return 0;
{40, "morbidly obese"},
{15, "underweight"},
}
scanf("%f",&weight);
for(i=1; i<sizeof(categories)/sizeof(struct bmicategory); i++) {
#include<stdio.h>
if(bmi < categories[i].value) {
break;
printf("%s\n", category);
height = height * 0.01;
printf("enter height (in cm): ");
{25, "overweight"},
category=getBmiCategory(height,weight);
int main() {
float value;
int i;
/* printf("BMI = %f\n", bmi); */
}
};
float height;
{30, "obese"},
}
char *category;
char *name = NULL;
{0, "starvation"},
char *getBmiCategory(float height, float weight) {
float weight;