emaykova785
?>

Написать программу, которая для любого трехзначного натурального числа печатает его на естественном языке. Например, 107 → сто семь, 234 → двести тридцать четыре, 517 → пятьсот семнадцать.

Информатика

Ответы

nikiforovako76
C#string[][] words = { new [] { "", "сто ", "двести ", "триста ", "четыреста ", "пятьсот ", "шестьсот ", "семьсот ", "восемьсот ", "девятьсот "}, new [] { "", "десять ", "двадцать ", "тридцать ", "сорок ", "пятьдесят ", "шестьдесят ", "семьдесят ", "восемьдесят ", "девяносто "}, new [] { "", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять",  }, new [] { "", "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать" }, }; int[] a = Console.ReadLine().Select(c => int.Parse(c.ToString())).ToArray(); string s = words[0][a[0]] + (a[1] == 1 && a[2] != 0 ? words[3][a[2]] : words[1][a[1]] + words[2][a[2]]); Console.WriteLine(s); Console.ReadLine();

Пример работы:


Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
srvsm

Скриншоты примеров работы во вложениях к ответу.

Код:

using System;

using System.Collections.Generic;

namespace PrintNumbersNaturaly

{

   class Program

   {

       static string GetShardName(int n, string  hundreds, string dozens, string units)

       {

           var d = new Dictionary<int, List<string>>

           {

               {1, new List<string>{"", "", ""}},

               {2, new List<string>{"Тысяча ", "Тысячи ", "Тысяч "}},

               {3, new List<string>{"Миллион ", "Миллиона ", "Миллионов "}},

               {4, new List<string>{"Миллиард ", "Миллиарда ", "Миллиардов "}},

           };

           if (dozens != "1")

           {

               switch (units)

               {

                   case "1":

                       return d[n][0];

                   

                   case "2":

                   case "3":

                   case "4":

                       return d[n][1];

                   

                   default:

                       return d[n][2];

               }

           }

           return d[n][2];

       }

       

       static string GetHundredsName(string number)

       {

           var d = new Dictionary<string, string>

           {

               {"1", "Сто "}, {"2", "Двести "}, {"3", "Триста "}, {"4", "Четыреста "}, {"5", "Пятьсот "},

               {"6", "Шестьсот "}, {"7", "Семьсот "}, {"8", "Восемьсот "}, {"9", "Девятьсот "}, {"0", ""}

           };

           return d[number];

       }

       

       static string GetDozensName(string number)

       {

           var d = new Dictionary<string, string>

           {

               {"1", "Десять "}, {"2", "Двадцать "}, {"3", "Тридцать "}, {"4", "Сорок "}, {"5", "Пятьдесят "},

               {"6", "Шестьдесят "}, {"7", "Семьдесят "}, {"8", "Восемьдесят "}, {"9", "Девяносто "}, {"0", ""}

           };

           return d[number];

       }

       static string GetUnitsName(string number)

       {

           var d = new Dictionary<string, string>

           {

               {"1", "Один "}, {"2", "Два "}, {"3", "Три "}, {"4", "Четыре "}, {"5", "Пять "},

               {"6", "Шесть "}, {"7", "Семь "}, {"8", "Восемь "}, {"9", "Девять "}, {"0", ""}

           };

           return d[number];

       }

       

       static string GetExceptionsName(string number)

       {

           var d = new Dictionary<string, string>

           {

               {"11", "Одиннадцать "}, {"12", "Двенадцать "}, {"13", "Тринадцать "}, {"14", "Четырнадцать "},

               {"15", "Пятьнадцать "}, {"16", "Шестнадцать "}, {"17", "Семнадцать "}, {"18", "Восемнадцать "},

               {"19", "Девятнадцать "}

           };

           return d.ContainsKey(number) ? d[number] : string.Empty;

       }

       static string GetNumberName(string number)

       {

           var n = (int) Math.Ceiling(number.Length / 3.0);

           var k = 3 - (number.Length - 1) % 3 - 1;

           number = new string('0', k) + number;

           var name = "";

           for (var i = n; i > 0; --i)

           {

               var hundreds = number[i * 3 - 3].ToString();

               var dozens = number[i * 3 - 2].ToString();

               var units = number[i * 3 - 1].ToString();

               

               var shard = GetHundredsName(hundreds);

               var exceptionsName = GetExceptionsName(dozens + units);

               if (exceptionsName != string.Empty)

               {

                   shard += exceptionsName;

               }

               else

               {

                   var dozensName = GetDozensName(dozens);

                   var unitsName = GetUnitsName(units);

                   shard += dozensName + unitsName;

               }

               name = shard + GetShardName(n - i + 1, hundreds, dozens, units) + name;

           }

           

           return name;

       }

       

       static string GetNumberName(int number)

       {

           return GetNumberName(number.ToString());

       }

       

       static void Main(string[] args)

       {

           var number = Console.ReadLine();

           Console.WriteLine(GetNumberName(number));

       }

   }

}


Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
Написать программу, которая для любого трехзначного натурального числа печатает его на естественном
olesyadeinega41
1. Электронная таблица представляет собой совокупность нумерованных строк и поименованных столбцов(латинскими буквами)

2. Свойство алгоритма,заключающееся в отсутствии ошибок,алгоритм должен приводить к правильному результату для всех допустимых входных значений,называется результативность.

3.Объем информационного сообщения 12288 битов,можно вводить как...
12288 бит = 1536 байт = 1,5Кбайт

4.Какой алгоритм называется линейным? Линейным называется алгоритм, который не имеет ответвлений (поворотов), другими словами прямой.
solonataly5
Const
  n=10;
var
  a:array[1..n] of integer;
  i,kp,sn: integer;

begin
  Randomize;
  Writeln('Элементы массива');
  kp:=0; sn:=0;
  for i:=1 to n do
  begin
    a[i]:= Random(31)-10;
    Write(a[i]:4);
    if a[i]>0 then Inc(kp);
    if (i mod 2)<>0 then sn:=sn+a[i]
  end;
  Writeln;
  Writeln('Количество положительных элементов: ',kp);
  Writeln('Сумма элементов на нечетных местах: ',sn);
  Writeln('Элементы массива после замены');
  for i:=1 to n do
  begin
    if a[i]<10 then a[i]:=10;
    Write(a[i]:4)
  end;
  Writeln
end.

Тестовое решение:
Элементы массива
  10  11  -4  11  12  13  -1  -2  -8   7
Количество положительных элементов: 6
Сумма элементов на нечетных местах: 9
Элементы массива после замены
  10  11  10  11  12  13  10  10  10  10

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу, которая для любого трехзначного натурального числа печатает его на естественном языке. Например, 107 → сто семь, 234 → двести тридцать четыре, 517 → пятьсот семнадцать.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Nikolaevna382
lobanosky162
Narine natalya
Korikm
tol1974656
demakova1969
margarita25061961
hbqhzwtd
Blekjek730
saryba
TatiyanaBe20135263
inainainainaina0073
Dato24043846
koll23
ragimovelshad