Pesquisar na Comunidade
Mostrando resultados para as tags ''contador de 7s''.
Encontrado 1 registro
-
Preciso construir um programa que leia um inteiro e conta quantos algarismos deste mesmo número são 7. No caso criei um programa, no entanto ele funciona, mas se meu número tiver mais de 9 dígitos a variável responsável pela contagem começa a passar valores errados... porque? Segue abaixo o código que escrevi... Antes de tudo grato pela colaboração. #include <stdio.h> int main( void ) { int aux = 1; int contador = 1; int contadorDe7 = 0; int numero, numeroAux, valorAux; int contaDigitos = 0; printf( "\nInforme um número:" ); scanf( "%d",&numero ); // Caso seja um número de apenas um algarismo e ele seja 7... if ( numero == 7 ) { printf( "\nApenas um dígito 7\n" ); } // Caso número seja 0... if ( numero == 0 ) { printf( "\nNenhum dígito é zero\n" ); } // Variável auxiliar para que a original não seja alterada... numeroAux = numero; // Processo para ver quantos algarismos(dígitos) o número possui... while( numeroAux != 0 ) { contaDigitos++; numeroAux /= 10; } // Processo para criar uma variável com tamanho suficiente para ser utilizada na hora da utilização de resto e divisão para apanhar os algarismos... while ( contador < contaDigitos ) { aux *= 10; contador++; } // Processo de contagem de quantos algarismos 7 possui no número... while ( contaDigitos != 0 ) { valorAux = numero / aux; if ( valorAux == 7 ) { contadorDe7++; } numero = numero % aux; aux /= 10; contaDigitos--; } // Informando o resultado... printf( "\n%d algarismos são 7\n\n", contadorDe7 ); return 0; }