Определите, на сколько рост самого высокого из них превышает рост самого низкого - 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(); }
Объяснение кода листинга программы
В этом коде выполняются следующие действия:
- Объявляются переменные:
n
- количество студентов;i
- счётчик студентов;min
- рост самого низкого студента;max
- рост самого высокого студента;raznica
- разница в росте;k
- текущий рост студента.
- Ввод количества студентов и сохранение этого значения в переменной
n
. - Ввод роста первого студента и сохранение этого значения в переменной
k
. Значениеmin
иmax
устанавливаются равнымиk
. - В цикле, пока
i
меньшеn
, происходит:- Ввод роста следующего студента и сохранение этого значения в переменной
k
. - Если
k
меньшеmin
, то обновление значенияmin
. - Если
k
большеmax
, то обновление значенияmax
. - Увеличение
i
на 1. - Обнуление
k
перед следующим циклом.
- Ввод роста следующего студента и сохранение этого значения в переменной
- После окончания цикла, в переменной
raznica
сохраняется разница междуmax
иmin
. - Вывод значения
raznica
и пустой строки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д