Расчет BMI - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include<stdio.h>
 
int main()
{
     int N,i;
    float x[100],y[100],BMI;
    scanf("%d",&N);
    if(N>100)N=100;
    for(i=0;i<N;i++)
    {
        scanf("%f%f",&x[i],&y[i]);
        x[i]/=100.0;
    }
     for(i=0;i<N;i++)
    {
         BMI=y[i]/(x[i]*x[i]);
         printf("BMI: %.3f\n",BMI);
         if (BMI<=18.5)
                  printf("Podvaha %f\n",BMI);
         else if(BMI>18.5 && BMI<25)
                  printf("Normalna hmotnost %f\n",BMI);
         else if (BMI>=25 && BMI<30)
                  printf("Nadvaha %f\n",BMI);
         else 
                  printf("Obezita %f\n",BMI);
    }
   
    return 0;
}

Помогите пожалуйста, отредактировать этот код... Должно получаться вот так... У меня же, получается вот так... Я не могу понять как это правильно написать!! Очень нужна помощь!!! Заранее спасибо!!!

Решение задачи: «Расчет BMI»

textual
Листинг программы
#include <stdio.h>
 
int main() {
    int N, i;
    float x[100], y[100], BMI;
    unsigned underweight = 0, normal = 0,
             overweight = 0, obesity = 0;
 
    scanf("%d", &N);
 
    if ((N < 1) || (100 < N)) {
        N = 100;
    }
 
    for (i = 0; i < N; i++) {
        scanf("%f%f", &x[i], &y[i]);
        x[i] /= 100.0;
    }
 
    for (i = 0; i < N; i++) {
        BMI = y[i] / (x[i] * x[i]);
        printf("%.2f\n", BMI);
 
        if (BMI <= 18.5) {
            underweight++;
        }
        else if (18.5 < BMI && BMI < 25.0) {
            normal++;
        }
        else if (25.0 <= BMI && BMI < 30.0) {
            overweight++;
        }
        else {
            obesity++;
        }
    }
 
    printf("Podvaha %u\n"
           "Normalna hmotnost %u\n"
           "Nadvaha %u\n"
           "Obezita %u\n",
           underweight, normal,
           overweight, obesity);
 
    return 0;
}

Объяснение кода листинга программы

  1. Включаем стандартную библиотеку ввода-вывода
  2. Объявляем переменные: — N (количество измерений) — целочисленная — i (счётчик) — целочисленная — x[100] (массив для хранения индексов массы тела) — вещественный тип — y[100] (массив для хранения индексов роста) — вещественный тип — BMI (индекс массы тела) — вещественный тип — underweight (количество людей с недостатком веса) — беззнаковое 32-битное целое число — normal (количество людей с нормальной массой тела) — беззнаковое 32-битное целое число — overweight (количество людей с избыточным весом) — беззнаковое 32-битное целое число — obesity (количество людей с ожирением) — беззнаковое 32-битное целое число
  3. Считываем количество измерений
  4. Проверяем корректность введенного значения для N
  5. Если N некорректно, то устанавливаем N равным 100
  6. Считываем значения массы и роста для каждого человека
  7. Нормализуем значения массы, приводя их к числу с плавающей точкой (необходимо для последующих расчетов)
  8. Для каждого человека вычисляем индекс массы тела (BMI), разделив значение роста на квадрат значения массы
  9. Выводим значение BMI на экран
  10. Увеличиваем соответствующий счетчик, если BMI меньше или равно 18.5 (недостаток веса)
  11. Увеличиваем соответствующий счетчик, если BMI больше 18.5 и меньше или равно 25.0 (нормальная масса тела)
  12. Увеличиваем соответствующий счетчик, если BMI больше 25.0 и меньше или равно 30.0 (избыточный вес)
  13. Увеличиваем соответствующий счетчик, если BMI больше или равно 30.0 (ожирение)
  14. Выводим количество людей с недостатком веса, нормальной массой тела, избыточным весом и ожирением
  15. Возвращаем 0, чтобы указать, что программа успешно завершила работу

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5
Похожие ответы