Segue um codigo que resolver essa questão, foi feito em c++, como não tinha linguagem especificada no questão, mais da para entender a idéia e porta para outra linguagem. Não foi feito nenhuma rotina para tratar erros. Salve o codigo num arquivo com a extensão .cpp. Boa sorte.
#include <iostream>
using namespace std;
/****************************
* Rotina Principal
****************************/
int main()
{
unsigned int numero = 0;
cout << "\nInforme o numero: ";
cin >> numero;
//Evita a que seja fora do especificado ( entre 0 e 999)
if(numero >= 0 && numero <= 999)
{
if((numero/100) >= 1) //Maior que 1
{
cout << "\nCentena = " << (numero/100);
numero -= (numero/100) * 100; //Retirar a centana
}
if((numero/10) >= 1)
{
cout << "\nDezena = " << (numero/10);
numero -= (numero/10) * 10; //Retirar a dezena
}
cout << "\nUnidade = " << numero << endl;
}
else cout << "\nNumero invalido" << endl;
return 0;
}
Elanore um algoritmo que leia um número inteiro de 3 algarismo e mostre cada número em separado. EX: 372, deverá mostrar CENTENA=3, DEZENA=7 e UNIDADE
#include <stdio.h>
int main()
{
int n, c, d, u;
scanf("%d", &n);
u=n%10;
n=n/10;
d=n%10;
n=n/10;
c=n%10;
printf("\nCENTENA = %d\n", c);
printf("DEZENA = %d\n", d);
printf("UNIDADE = %d\n", u);
return 0;
}
Como sabemos que o programa irá ler apenas números de três algarismos então não precisamos nos preocupar com acrescentar casos com a casa do MILHAR.
Para extrair o algarismo de cada uma das casas foi utilizado o mod (resto da divisão) representado pelo símbolo . Como se trata de um número inteiro então a divisão armazena apenas a parte inteira do resultado, isso nos permite correr o número e extrair todos os seus algarismos.
Para cada casa foi criada uma variável para armazenar seus respectivos elementos e ao final foram impressos os seus valores.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar