Определить, является ли разность максимальной и минимальной цифр четным числом - 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, что означает успешное выполнение.