Top.Mail.Ru
Ответы
Аватар пользователя
14лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Помогите составить программу : определить количество тысяч, сотен, десятков, единиц в четырёхзначном числе.

По дате
По рейтингу
Аватар пользователя
Новичок
14лет

когда просишь составить программу, желательно указывать язык программирования :)

есть такая операция - остаток от деления. именно с её помощью можно число разлагать на цифры.

например, число 47453818. остаток от деления на 10 - 8. значит, в числе 8 единиц.
далее, отбрасываем последнюю цифру при помощи целочисленного деления на 10 - работаем с числом 4745381. остаток от деления на 10 - 1. значит, в числе 1 десяток.
474538 - в числе 8 сотен.
47453 - в числе 3 тысячи

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

в Паскале остаток от деления - Mod, целочисленное деление - Div, например
units := n Mod 10; n := n Div 10;

привожу полный код на Си, если нужен другой язык или ещё какие нюансы возникнут - комментируй этот ответ.

#include <stdio.h>

int main() {
int n;
printf("Enter four-digit number ");
scanf("%d",&n);

int units,tens,hundreds,thousands;
units = n % 10;
n = n / 10;
tens = n % 10;
n = n / 10;
hundreds = n % 10;
n = n / 10;
thousands = n % 10;

printf("Provided number contains %d thousands, %d hundreds, %d tens and %d units\n",thousands,hundreds,tens,units);
return 0;
}

Аватар пользователя
Ученик

у автора выше код немного неверен. Правильно будет так:

12345678
 int units,tens,hundreds,thousands; 
units = n % 10; 
n = n / 10; 
tens = n % 10; 
n = n / 100; 
hundreds = n % 10; 
n = n / 1000; 
thousands = n % 10;