Ler um número e um dígito positivos. Contar quantos dígitos o número possui, que corresponde àquele dado como entrada. Repetir a leitura do número e do dígito enquanto forem informados valores negativos. Repetir a execução do programa de acordo com a resposta do usuário.
Exemplo de execução do programa:
Digite um número: 55
Digite um dígito: 5
55 possui 2 dígito(s) cinco;
Deseja repetir o programa: (S ou N)? S
Digite um número: 70077
Digite um dígito: 7
70077 possui 3 dígito(s) sete;
Deseja repetir o programa: (S ou N)? S
Digite um número: -1
Número inválido, o número deve ser positivo!
Digite um número: 111
Digite um dígito: -1
Dígito inválido, o dígito deve ser positivo!
Digite um dígito: 1
111 possui 3 dígito(s) um;
Deseja repetir o programa: (S ou N)? S
Digite um número: 1232
Digite um dígito: 2
1232 tem 2 dígito(s) dois
Deseja repetir o programa: (S ou N)? S
Digite um número: 0
Digite um dígito: 0
0 tem 1 dígito(s) zero
Deseja repetir o programa: (S ou N)? N
Precisa ser em linguagem C
Respostas
Resposta:
int main()
{
int numero ;
int digito ;
char codigo[1];
int cont =0;
do {
printf ("Digite um numero \n");
scanf ("%i", &numero);
if ( numero < 0 ){
printf ("Numero deve ser positivo \n");
printf ("Digite um numero \n");
scanf ("%i", &numero);
}
printf ("Digite um digito \n");
scanf("%i", &digito);
if ( digito <0 ){
printf ("Digito deve ser positivo \n");
printf ("Digite um digito \n");
scanf("%i", &digito);
}
if ( digito == numero){
cont++;
}
printf ("%i possui % digitos \n ", numero,digito);
printf (" deseja repetir o programa S ou N \n");
scanf("%s",&codigo);
}
while ( codigo == 'N');{
printf (" programa finalizado \n");
}
return 0;
}
Explicação:
confia
Este programa na linguagem C converte o número ingressado para string com a função sprintf() para logo realizar uma busca sequencial no vetor resultante.
Como se escrever o código para contar os dígitos iguais ao ingressado?
Para este programa podemos criar duas variáveis, uma variável com o número ingressado, que será do tipo long, e uma variável de tipo int que será o dígito ingressado.
Para desenhar o código podemos utilizar a operação módulo para calcular sucessivamente o resíduo da divisão por 10, porém, neste caso vamos converter o número ingressado para string utilizando a função sprintf().
Como agora cada dígito estará representado pelo seu código ASCII, vamos adicionar '0' ao dígito ingressado.
O arranjo de strings chamado "digitos" é uma tabela que permite colocar os dígitos em letras.
Saiba mais sobre a linguagem C em https://brainly.com.br/tarefa/28035640
#SPJ2