Найти сумму максимальной и минимальной цифры - C (СИ)

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

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

Дано натуральное число n. Найти сумму максимальной и минимальной цифры. Если соответствующая максимальная ( минимальная ) цифра встречается в числе более одного раза, то и в суммировании она участвует соответствующее число раз. ( без массива )
Листинг программы
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int n, m, min, max, sum;
  5. min = 10;
  6. max = 0;
  7. scanf("%i", &n);
  8. do {
  9. m = n % 10;
  10. n = n / 10;
  11. if (min > m)
  12. min = m;
  13. if (max < m)
  14. max = m;
  15. } while (n != 0);
  16. sum = min + max;
  17. printf("Min:\n%i\n", min);
  18. printf("Max:\n%i\n", max);
  19. printf("Summa:\n%i\n", sum);
  20. return 0;
  21. }

Решение задачи: «Найти сумму максимальной и минимальной цифры»

textual
Листинг программы
  1. #include<stdio.h>
  2.  
  3.  
  4. int main(){
  5.  
  6. int n;
  7. printf("Enter number: ");
  8. scanf("%d",&n);
  9. int max, min, t = n, maxCount = 0, minCount = 0;
  10. max = min = t%10;
  11. while(t){
  12.         if(max < t%10) max = t%10;
  13.         if(min > t%10) min = t%10;
  14.         t=t/10;
  15. }
  16. printf("max = %d and min = %d\n", max, min);
  17.  
  18. t=n;
  19.  
  20. while(t){
  21.  
  22.         if(max == t%10) maxCount++;
  23.         if(min == t%10) minCount++;
  24.         t=t/10;
  25. }
  26. printf("max is found %d time(s), min is found %d time(s)\n",maxCount, minCount);
  27. printf("The result of programm is %d\n", max*maxCount + min*minCount);
  28.  
  29. return 0;
  30. }

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

В этом коде задача состоит в том, чтобы найти максимальную и минимальную цифру в числе, которое вводит пользователь, а затем найти сколько раз каждая из этих цифр встречается в числе. Затем код вычисляет и выводит результат, который представляет собой сумму максимальной и минимальной цифры, умноженную на количество раз, которое каждая из этих цифр встречается в числе. Список действий:

  1. Ввод числа от пользователя
  2. Инициализация переменных:
    • max и min инициализируются как первая цифра числа (t%10)
    • maxCount и minCount инициализируются как 0
  3. Делитель цикла while используется для обработки каждой цифры числа
    • Если следующая цифра больше max, то max обновляется
    • Если следующая цифра меньше min, то min обновляется
    • Цифра сдвигается вправо на каждом шаге цикла (t/10)
  4. Цикл while используется для подсчета количества раз, которое каждая цифра встречается в числе
    • Если следующая цифра равна max, то maxCount увеличивается на 1
    • Если следующая цифра равна min, то minCount увеличивается на 1
    • Цифра сдвигается вправо на каждом шаге цикла (t/10)
  5. Вывод максимальной и минимальной цифры и количества их вхождений
  6. Вывод результата программы (maxmaxCount + minminCount)
  7. Конец программы (return 0)

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


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

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

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы