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