Удалить максимальную цифру из числа - C (СИ)

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

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

Есть такая задача. Вводится натуральное число. В нем надо найти максимальную цифру и потом удалить ее из числа, чтоб получилось новое число. Если таких цифр несколько, то удалить несколько. Например: 123555, вывести 123. Задача сделана наполовину. Загвоздка в удалении максимального числа
Листинг программы
  1. #include "stdafx.h"
  2. #include "locale.h"
  3. #include "math.h"
  4. #include "stdio.h"
  5. #include "conio.h"
  6.  
  7. int _tmain(int argc, _TCHAR* argv[])
  8. {
  9. setlocale(LC_ALL, "rus");
  10. int x,y;
  11. printf("Введите любое натуральное число: ");
  12. scanf("%d", &x);
  13. int max = x % 10;
  14. while (x)
  15. {
  16. y = x % 10;
  17. if (y>max)
  18. {
  19. max = y;
  20. }
  21. x /= 10;
  22. }
  23. printf("Наибольшая цифра в числе: %d\n", max);
  24.  
  25. return 0;
  26. }

Решение задачи: «Удалить максимальную цифру из числа»

textual
Листинг программы
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <stdio.h>
  3.  
  4. int main(void)
  5. {
  6.     int number, max = 0, result = 0, temp, pow10 = 1;
  7.     printf("Input a number: ");
  8.     scanf("%d", &number);
  9.     temp = number;
  10.     while (temp)
  11.     {
  12.         if (max < temp % 10)
  13.             max = temp % 10;
  14.         temp /= 10;
  15.     }
  16.    
  17.     while (number)
  18.     {
  19.         temp = number % 10;
  20.         if (temp < max)
  21.         {
  22.             result += pow10 * temp;
  23.             pow10 *= 10;
  24.         }
  25.         number /= 10;
  26.     }
  27.    
  28.     printf("Max = %d\nResult = %d\n", max, result);
  29.    
  30.     return 0;
  31. }

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


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

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

7   голосов , оценка 3.571 из 5

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

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

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