Удалить максимальную цифру из числа - 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;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д