Как найти второе число в трехзначном числе

Как определить цифру из данного числа?
Например, число 1337 состоит из 4 цифр. Как узнать вторую цифру ?

задан 20 ноя 2017 в 4:46

tonymore's user avatar

tonymoretonymore

3292 серебряных знака16 бронзовых знаков

6

string str = 1337.ToString();
Console.WriteLine(str[1]);

нумерация в строках такая же как и в массивах, но доступ по индексу к элементу доступен только для чтения

ответ дан 20 ноя 2017 в 4:55

Alexandr's user avatar

AlexandrAlexandr

4542 серебряных знака15 бронзовых знаков

Способ без превращения числа в строку (будет работать быстрее):

static void Main(string[] args)
{
    int n = 534534623;
    int d = GetSecondDigit(n);
    Console.WriteLine(d);
    Console.ReadKey();
}

static int GetSecondDigit(int k)
{
    while (k >= 100) k /= 10;
    int d = k % 10;
    return d;
}

Хотя, конечно, если у вас на входе строка, то проще получить второй символ по индексу (как в соседнем ответе).

ответ дан 20 ноя 2017 в 6:08

Андрей NOP's user avatar

Андрей NOPАндрей NOP

28.3k4 золотых знака39 серебряных знаков77 бронзовых знаков

Делим без остатка на 100, затем берём остаток от деления на 10. Не понимаю, зачем вам отправили конвертацию в строку и даже отдельную функцию с циклом.

ответ дан 23 дек 2020 в 20:43

Павел's user avatar

ПавелПавел

543 бронзовых знака

1


        Console.WriteLine("Введите трехзначное число");
        int.TryParse(Console.ReadLine()!, out int k);
    
        if (k>999 || k<100)
        {
        Console.WriteLine("Не трехзначное число!!!");
        return;
        }
        int GetSecond(int k)
        {
        while (k >= 100) k /= 10;
        int d = k % 10;
        return d;
        }
        Console.WriteLine(GetSecond(k));

мэйби как то так?

ответ дан 16 мар в 11:07

KatrinBlade's user avatar

1

1 / 1 / 0

Регистрация: 10.09.2013

Сообщений: 77

1

Напишите программу на языка Паскаль для нахождения второй цифры справа для заданного целого, трехзначного числа

27.09.2013, 15:37. Показов 3734. Ответов 2


Студворк — интернет-сервис помощи студентам

Напишите программу на языка Паскаль для нахождения второй цифры справа для заданного целого, трехзначного числа.



0



Puporev

Почетный модератор

64287 / 47586 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

27.09.2013, 16:52

2

Лучший ответ Сообщение было отмечено Rick222 как решение

Решение

Цитата
Сообщение от Rick222
Посмотреть сообщение

второй цифры справа для заданного целого, трехзначного числа.

Так в трехзначном числе вторая цифра слева и справа одно и то же.

Pascal
1
c:=n div 10 mod 10;



1



AnDrOs96

22 / 22 / 7

Регистрация: 11.09.2013

Сообщений: 186

28.09.2013, 11:49

3

Pascal
1
2
3
4
5
6
7
8
var a,b:integer;
begin
writeln('vvedu 4uslo');
readln(a);
untel(a>=100 and a<1000);
b:=a div 10 mod 10;
writeln(b);
end.

Добавлено через 30 секунд
Вроде так))

Добавлено через 12 часов 12 минут
Там немного синтаксические ошибки
Until(a>=100) and (a<1000);



0



При помощи операции нахождения остатка и целочисленного деления можно достаточно несложно вычислить любую цифру числа.

Рассмотрим программу получения цифр двузначного числа:

num = 17
a = num % 10
b = num // 10
print(a)
print(b)

Результатом выполнения программы будут два числа:

7
1

То есть сначала мы вывели последнюю цифру числа, а затем первую цифру.

Запомни: последняя цифра числа определяется всегда как остаток от деления числа на 10 (% 10). Чтобы отщепить последнюю цифру от числа, необходимо разделить его нацело на 10 (// 10).

Рассмотрим программу получения цифр трёхзначного числа:

num = 754
a = num % 10
b = (num % 100) // 10
c = num // 100
print(a)
print(b)
print(c)

Результатом выполнения программы будут три числа:

4
5
7

То есть сначала мы вывели последнюю цифру числа, затем среднюю цифру, а затем первую цифру.

Алгоритм получения цифр n-значного числа

Несложно понять, по какому алгоритму можно найти каждую цифру n-значного числа num:

  • Последняя цифра: (num % 101) // 100;
  • Предпоследняя цифра: (num % 102) // 101;
  • Предпредпоследняя цифра: (num % 103) // 102;
  • …..
  • Вторая цифра: (num % 10n-1) // 10n-2;
  • Первая цифра: (num % 10n) // 10n-1.

Решение задач

Задача 1. Напишите программу, определяющую число десятков и единиц в двузначном числе.

Решение. Число единиц – это последняя цифра числа, число десятков – первая цифра. Чтобы получить последнюю цифру любого числа, нужно найти остаток от деления числа на 10. Чтобы найти первую цифру двузначного числа, нужно поделить число нацело на 10. Программа, решающая поставленную задачу, может иметь следующий вид:

num = int(input())
last_digit = num % 10
first_digit = num // 10
print('Число десятков =', first_digit)
print('Число единиц =', last_digit)

Задача 2. Напишите программу, в которой рассчитывается сумма цифр двузначного числа.

Решение. Программа, решающая поставленную задачу, может иметь следующий вид:

num = int(input())
last_digit = num % 10
first_digit = num // 10
print('Сумма цифр =', last_digit + first_digit)

Задача 3. Напишите программу, которая печатает число, образованное при перестановке цифр двузначного числа.

Решение. Программа, решающая поставленную задачу, может иметь следующий вид:

num = int(input())
last_digit = num % 10
first_digit = num // 10
print('Искомое число =', last_digit * 10 + first_digit)

Задача 4. Напишите программу, в которую вводится трёхзначное число и которая выводит на экран его цифры (через запятую).

Решение. Программа, решающая поставленную задачу, может иметь следующий вид:

num = int(input())
digit3 = num % 10
digit2 = (num // 10) % 10
digit1 = num // 100
print(digit1, digit2, digit3, sep=',')

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

дано число 350. надо найти 3, 5 и 0 из этого числа… то есть например должно выйти a=3 , b=5 , c=0. и сделать с помощью команд mod, div.

Код к задаче: «Найти 1-ое, 2-ое и 3-е число трёхзначного числа»

textual

var masnum: array [1..100] of integer;
i,n,k:integer;
begin
 writeln('Vvedite chislo');
readln(n);
k := 0;
while n > 0 do begin
k := k + 1;
masnum[k] := n mod 10;
n := n div 10;
end;
for i:=k downto 1 do
    write(masnum[i]:3);
readln;
end.

Полезно ли:

15   голосов , оценка 3.800 из 5

Дано трехзначное число. Найти вторую цифру в записи числа.​


LuciFear45:
Сделал на паскале, проверяй

Ответы на вопрос

Ответ:

Python:

print(input(‘Введите число:’)[1])

Pascal:

var

i: integer;

d: string;

begin

readln(i); // запрашивает число. Если нужно было не так, а присваиванием, то замени на i := <number>

str(i,d);

writeln(d[2]);

end.


milkmanity:
а можно на Паскале? :(

LuciFear45:
ладно. Только вот я паскаль не знаю, поэтому изучение вопроса займёт время

Новые вопросы

2. Составь текст «Береги воду», используя частину Создавай! НЕ и опорные слова. В воду, стекло, разбитое, бросай. Мусор, оставляй, водоёма, на берегу. Лес, вырубай, реки, на берегу. ДАЮ 15 БАЛЛОВ ​…

Понравилась статья? Поделить с друзьями:
  • Как найти статьи в периодических изданиях
  • Составить предложение употребив в нем выражение как с гуся вода
  • Как можно найти максимальное напряжение
  • Как можно найти другу через номер
  • Как найти меньшее основание если известно большее