Найти сумму максимальной и минимальной цифры - C (СИ)
Формулировка задачи:
Дано натуральное число n. Найти сумму максимальной и минимальной цифры. Если соответствующая максимальная ( минимальная ) цифра встречается в числе более одного раза, то и в суммировании она участвует соответствующее число раз. ( без массива )
Листинг программы
- #include <stdio.h>
- int main(void)
- {
- int n, m, min, max, sum;
- min = 10;
- max = 0;
- scanf("%i", &n);
- do {
- m = n % 10;
- n = n / 10;
- if (min > m)
- min = m;
- if (max < m)
- max = m;
- } while (n != 0);
- sum = min + max;
- printf("Min:\n%i\n", min);
- printf("Max:\n%i\n", max);
- printf("Summa:\n%i\n", sum);
- return 0;
- }
Решение задачи: «Найти сумму максимальной и минимальной цифры»
textual
Листинг программы
- #include<stdio.h>
- int main(){
- int n;
- printf("Enter number: ");
- scanf("%d",&n);
- int max, min, t = n, maxCount = 0, minCount = 0;
- max = min = t%10;
- while(t){
- if(max < t%10) max = t%10;
- if(min > t%10) min = t%10;
- t=t/10;
- }
- printf("max = %d and min = %d\n", max, min);
- t=n;
- while(t){
- if(max == t%10) maxCount++;
- if(min == t%10) minCount++;
- t=t/10;
- }
- printf("max is found %d time(s), min is found %d time(s)\n",maxCount, minCount);
- printf("The result of programm is %d\n", max*maxCount + min*minCount);
- return 0;
- }
Объяснение кода листинга программы
В этом коде задача состоит в том, чтобы найти максимальную и минимальную цифру в числе, которое вводит пользователь, а затем найти сколько раз каждая из этих цифр встречается в числе. Затем код вычисляет и выводит результат, который представляет собой сумму максимальной и минимальной цифры, умноженную на количество раз, которое каждая из этих цифр встречается в числе. Список действий:
- Ввод числа от пользователя
- Инициализация переменных:
- max и min инициализируются как первая цифра числа (t%10)
- maxCount и minCount инициализируются как 0
- Делитель цикла while используется для обработки каждой цифры числа
- Если следующая цифра больше max, то max обновляется
- Если следующая цифра меньше min, то min обновляется
- Цифра сдвигается вправо на каждом шаге цикла (t/10)
- Цикл while используется для подсчета количества раз, которое каждая цифра встречается в числе
- Если следующая цифра равна max, то maxCount увеличивается на 1
- Если следующая цифра равна min, то minCount увеличивается на 1
- Цифра сдвигается вправо на каждом шаге цикла (t/10)
- Вывод максимальной и минимальной цифры и количества их вхождений
- Вывод результата программы (maxmaxCount + minminCount)
- Конец программы (return 0)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д