Как определить цифру из данного числа?
Например, число 1337 состоит из 4 цифр. Как узнать вторую цифру ?
задан 20 ноя 2017 в 4:46
tonymoretonymore
3292 серебряных знака16 бронзовых знаков
6
string str = 1337.ToString();
Console.WriteLine(str[1]);
нумерация в строках такая же как и в массивах, но доступ по индексу к элементу доступен только для чтения
ответ дан 20 ноя 2017 в 4:55
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Андрей NOP
28.3k4 золотых знака39 серебряных знаков77 бронзовых знаков
Делим без остатка на 100, затем берём остаток от деления на 10. Не понимаю, зачем вам отправили конвертацию в строку и даже отдельную функцию с циклом.
ответ дан 23 дек 2020 в 20:43
ПавелПавел
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
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 как решение Решение
второй цифры справа для заданного целого, трехзначного числа. Так в трехзначном числе вторая цифра слева и справа одно и то же.
1 |
AnDrOs96 22 / 22 / 7 Регистрация: 11.09.2013 Сообщений: 186 |
||||
28.09.2013, 11:49 |
3 |
|||
Добавлено через 30 секунд Добавлено через 12 часов 12 минут
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 БАЛЛОВ …