Напишите функцию, определяющую наибольшую цифру заданного числа - C#

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

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

Как решить эту задачу используя "%" и "/" ? Задание: Дано натуральное число n. Напишите функцию static int MaxDigit (int n), определяющую наибольшую цифру данного числа (например, при вводе 179 программа выводит 9).
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Program
  6. {
  7. class Program
  8. {
  9. static int MaxDigit(int n)
  10. {
  11. string s = System.Convert.ToString(n);
  12. int[] mas = new int[s.Length];
  13. int count = 0;
  14. foreach (char ch in s)
  15. {
  16. mas[count] = int.Parse(ch.ToString());
  17. count++;
  18. }
  19. return mas.Max();
  20. }
  21. static void Main(string[] args)
  22. {
  23. int x;
  24. Console.WriteLine("Введете натуральное число");
  25. int n = Convert.ToInt32(Console.ReadLine());
  26. if (n < 0)
  27. {
  28. Console.WriteLine("Вы ввели отрицательное число");
  29. Console.ReadKey();
  30. }
  31. else
  32. {
  33. x = MaxDigit(n);
  34. Console.WriteLine("Самая большая цифра в числе {0} это {1}", n, x);
  35. Console.ReadKey();
  36. }
  37. }
  38. }
  39. }

Решение задачи: «Напишите функцию, определяющую наибольшую цифру заданного числа»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace ConsoleApplication176
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             var v = 11839;
  12.             var max = MaxDigit(v);
  13.             Console.WriteLine(max);
  14.             Console.ReadLine();
  15.         }
  16.  
  17.         private static int MaxDigit(int n)
  18.         {
  19.             return GetDigits(n).Max();
  20.         }
  21.  
  22.         private static IEnumerable<int> GetDigits(int v)
  23.         {
  24.             var count = 1 + (int) Math.Log10(v);
  25.             for(int i=0;i<count;i++)
  26.                 yield return (v/(int)Math.Pow(10, i)) % 10;
  27.         }
  28.     }
  29. }

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


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

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

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

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

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

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