Определить, является ли разность максимальной и минимальной цифр четным числом - C (СИ)
Формулировка задачи:
Листинг программы
- uses crt;
- var num,min,max,flag: longint;
- begin
- clrscr;
- readln (num);
- min:=num mod 10;
- while ( num div 10) > 0 do
- begin
- flag:= num mod 10;
- num:= num div 10;
- if flag>max then max:=flag;
- if flag<min then min:=flag;
- end;
- flag:= num mod 10;
- num:= num div 10;
- if flag>max then max:=flag;
- if flag<min then min:=flag;
- if (max-min) mod 2 = 0 then writeln ('разность максимальной и минимальной цифр четное число')
- else writeln ('разность максимальной и минимальной цифр не четное число')
- readln;
- end.
Решение задачи: «Определить, является ли разность максимальной и минимальной цифр четным числом»
textual
Листинг программы
- #include <stdio.h>
- int main (void)
- {
- long int num,min,max,flag;
- scanf("%ld",num);
- min = m % 10;
- while ((num / 10) > 10)
- {
- flag = num % 10;
- num = num / 10;
- if (flag > max) max = flag;
- if (flag< min) min = flag;
- }
- flag = num % 10;
- num = num / 10;
- if (flag > max) max = flag;
- if (flag < min) min = flag;
- if ((max - min) % 2 == 0) {
- printf("Разность максимальной и минимальной цифр четное число");
- }
- else
- {
- printf("Разность максимальной и минимальной цифр не четное число");
- }
- return 0;
- }
Объяснение кода листинга программы
В этом коде:
- Сначала объявляются переменные:
num
- для ввода числа;min
иmax
- для хранения минимального и максимального значений цифр соответственно;flag
- для проверки четности разности максимального и минимального значений.
- Затем с помощью функции
scanf
в переменнуюnum
считывается целое число. - Из числа извлекается последняя цифра с помощью операции модуля
%
и сохраняется в переменнуюmin
. - В цикле, пока число не будет однозначным (то есть больше 10), выполняются следующие действия:
- значение последней цифры сохраняется в переменную
flag
; - число делится на 10, чтобы удалить последнюю цифру;
- если значение
flag
больше максимального значения, то оно становится новым максимальным; - если значение
flag
меньше минимального значения, то оно становится новым минимальным; - цикл повторяется.
- значение последней цифры сохраняется в переменную
- После окончания цикла, в переменной
flag
сохраняется последнее значение последней цифры числа. - Число делится на 10, чтобы удалить последнюю цифру.
- Если значение
flag
больше максимального значения, то оно становится новым максимальным;- если значение
flag
меньше минимального значения, то оно становится новым минимальным; - вычисляется разность максимального и минимального значений;
- проверяется, является ли эта разность четным числом.
- если значение
- Выводится соответствующее сообщение:
Разность максимальной и минимальной цифр четное число
илиРазность максимальной и минимальной цифр нечетное число
. - Программа возвращает 0, что означает успешное выполнение.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д