Определите, на сколько рост самого высокого из них превышает рост самого низкого - C (СИ)

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

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

Привет! Программа компилируется, но вместо ответа выводит 0. Задание:
Введите с клавиатуры рост каждого студента из вашей группы. Определите, на сколько рост самого высокого из них превышает рост самого низкого?
#include <stdio.h>
void main ()
{
    
    int n, i, min, max, raznica, k;
        i=2;
        min=0;
        max=0;
        raznica=0;

    puts("Vvedite kolichestvo stydentov ");
    scanf("%d", &n);
    puts("Vvedite rost studenta ");
    scanf("%d", &k);
      k=min=max;
       k=0;
    while(i<=n)
    {    puts("Vvedite rost studenta ");
        scanf("%d", &k);
        if(k<min)
        {k=min;}
        else
        if(k>max)
        {k=max;}
            i++;
            k=0;
        }
                       raznica=max-min;
        printf("Raznica %d ", raznica);
    puts("");
}
логически все вроде как верно, в чем тогда ошибка? Спасибо за внимание!

Решение задачи: «Определите, на сколько рост самого высокого из них превышает рост самого низкого»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
void main ()
{
    
    int n, i, min, max, raznica, k;
        i=2;
        min=0;
        max=0;
        //raznica=0;
 
 
    puts("Vvedite kolichestvo stydentov ");
    scanf("%d", &n);
    puts("Vvedite rost studenta ");
    scanf("%d", &k);
      min=k;
      max=k;
       //k=0;
    while(i<=n)
    {    puts("Vvedite rost studenta ");
        scanf("%d", &k);
        if(k<min){
            min=k;
            }
        else if(k>max){
            max=k;
            }
        i++;
        k=0;
        }
        raznica=max-min;
        printf("Raznica %d ", raznica);
    puts("");
    getch();
}

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

В этом коде выполняются следующие действия:

  1. Объявляются переменные:
    • n - количество студентов;
    • i - счётчик студентов;
    • min - рост самого низкого студента;
    • max - рост самого высокого студента;
    • raznica - разница в росте;
    • k - текущий рост студента.
  2. Ввод количества студентов и сохранение этого значения в переменной n.
  3. Ввод роста первого студента и сохранение этого значения в переменной k. Значение min и max устанавливаются равными k.
  4. В цикле, пока i меньше n, происходит:
    • Ввод роста следующего студента и сохранение этого значения в переменной k.
    • Если k меньше min, то обновление значения min.
    • Если k больше max, то обновление значения max.
    • Увеличение i на 1.
    • Обнуление k перед следующим циклом.
  5. После окончания цикла, в переменной raznica сохраняется разница между max и min.
  6. Вывод значения raznica и пустой строки.

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


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

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

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