Calcular dígitos de um número
A necessidade de aplicar a operação de cálculo do resto da divisão é visível quando se trabalha com os dígitos de um número. 
 
Tarefa
É fornecido um número de três dígitos. Exiba todos os dígitos desse número e obtenha um novo número formado pela permuta de unidades e centenas.
A questão mais difícil que surge para iniciantes é como decompor um número em seus dígitos constituintes.
Na verdade, tudo é resolvido de forma bastante simples, se você se lembrar da matemática. E a matemática nos diz que qualquer número pode ser decomposto em uma soma de termos de dígitos.
Por exemplo: 
365=3*100+6*10+5*1 . Vemos que cada dígito é um multiplicador do dígito correspondente do número. 
Vamos mostrar como obter cada dígito de um número em uma variável separada. Considere o procedimento de divisão  uma coluna do número 365 pelo número 10  (pegamos o número 10, porque temos um sistema de numeração decimal e, portanto, temos termos de dígitos 1, 10, 100, etc.).
Depois de analisar a figura, você pode ver que:
 
e = n % 10; // operação n % 10 - calcula o último dígito do número n (ou seja, o dígito das unidades)
  // 365% 10 = 5
d = n/10% 10; // operação n / 10 - reduz o número em 10 vezes,
  // ou seja, descarta o último dígito do número (365 / 10 = 36),
                   // agora podemos calcular o dígito das dezenas aplicando a operação familiar ao resultado
  // - calcula o resto após a divisão pelo número 10, 36% 10 = 6
 
s = n/100; // para obter o algarismo das centenas, basta descartar dois algarismos à direita do número,
  // ou seja, divide por 10 duas vezes (n / 10 /10 ou o mesmo que n / 100) 365 / 100 = 3
Tendo recebido todos os dígitos do número, podemos fazer outro número com eles multiplicando o dígito desejado pelo dígito correspondente: & nbsp; por exemplo, a linha abaixo obterá um novo número do número original n, com centenas e unidades reorganizadas:
1) o número de unidades (armazenado na variável e)  multiplicado por 100; 
2) o dígito das dezenas (armazenado na variável d)  multiplique por 10; < br />
3) podemos simplesmente multiplicar o dígito das centenas por 1, ou simplesmente pegar o valor armazenado na variável s;
Então os valores dos pontos 1, 2 e 3 devem ser somados e obtemos um novo número:
n1 = e * 100 + d * 10 + s;
Todo o programa ficará assim:
 
#includeiostream>
usando namespace std;
principal()
{
  int n, e, d, s;
  cin>> n;
  e = n % 10;
  d = n/10% 10;
  s = n/100;
  cout << e<< " " << d<< " " << s<< " " << (e * 100 + d * 10 + s);
}