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

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

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

Есть такая задача. Вводится натуральное число. В нем надо найти максимальную цифру и потом удалить ее из числа, чтоб получилось новое число. Если таких цифр несколько, то удалить несколько. Например: 123555, вывести 123. Задача сделана наполовину. Загвоздка в удалении максимального числа
#include "stdafx.h"
#include "locale.h"
#include "math.h"
#include "stdio.h"
#include "conio.h"

int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
    
    int x,y;
    printf("Введите любое натуральное число: ");
    scanf("%d", &x);
    int max = x % 10;
    while (x)
    {
        y = x % 10;
        if (y>max)
        {
            max = y;
        }
        x /= 10;
    }
 
    printf("Наибольшая цифра в числе: %d\n", max);

    return 0;
}

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

textual
Листинг программы
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void)
{
    int number, max = 0, result = 0, temp, pow10 = 1;
    printf("Input a number: ");
    scanf("%d", &number);
    temp = number;
    while (temp)
    {
        if (max < temp % 10)
            max = temp % 10;
        temp /= 10;
    }
    
    while (number)
    {
        temp = number % 10;
        if (temp < max)
        {
            result += pow10 * temp;
            pow10 *= 10;
        }
        number /= 10;
    }
    
    printf("Max = %d\nResult = %d\n", max, result);
    
    return 0;
}

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


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

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

7   голосов , оценка 3.571 из 5
Похожие ответы