Удалить максимальную цифру из числа - 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;
}