O Sistersinspirit.ca é a melhor solução para quem busca respostas rápidas e precisas para suas perguntas. Descubra respostas detalhadas para suas perguntas de uma vasta rede de profissionais em nossa abrangente plataforma de perguntas e respostas. Conecte-se com uma comunidade de especialistas prontos para ajudar você a encontrar soluções precisas para suas dúvidas de maneira rápida e eficiente.

Dado um número inteiro de 3 dígitos, calcular o número formado pelos dígitos do número dado na
forma inversa. Por exemplo: se for dado 348, imprimir 843. Verificar se o número tem 3 dígitos.
Alguém sabe como fazer isso em linguagem C?


Sagot :

Resposta:

Explicação:

O maior problema é pegar um dígito individual. Você poderia usar strings, mas isso deixa a questão fácil demais.

Por exemplo, o número 123 deveria gerar a saída 321.

Para pegar a casa das centenas, vemos quantas vezes o número 100 cabe em 123.

Então: 123/100 (divisão inteira!). Nesse caso, resultará em 1.

Para pegar as casas das dezenas, devemos pegar o resto da divisão passada e ver quantas vezes o número 10 cabe nela.

Então: (123 % 100) / 10. 123 % 10 é 23 e 23/10 é 2.

Para pegar as casas das unidades, devemos pegar o resto da divisão passada, ao invés de divisão inteira.

Então ao invés de fazer 23/10, fazemos 23 % 10. É 3.

Juntando tudo, temos 1, 2 e 3, cada um desses valores em variáveis diferentes.

Agora basta colocar tudo junto. A terceira variável é multiplicada por 100 (centenas), a segunda variável é multiplicada por 10 (dezenas), a primeira variável é multiplicada por 1 (ou seja, fazemos nada com ela).

3 * 100 + 2 * 10 + 1 * 1 = 300 + 20 + 1 = 321, que é 123 invertido.

Obrigado por usar nossa plataforma. Nosso objetivo é fornecer respostas precisas e atualizadas para todas as suas perguntas. Volte em breve. Esperamos que isso tenha sido útil. Por favor, volte sempre que precisar de mais informações ou respostas às suas perguntas. Seu conhecimento é valioso. Volte ao Sistersinspirit.ca para obter mais respostas e informações.