Ir ao conteúdo

Posts recomendados

Postado

Receba dois inteiros do usuário, o primeiro sendo o dígito que se quer saber quantas vezes aparece e o segundo sendo o número. A entrada tem que ser um valor inteiro qualquer para A entre 1 e 9, e um valor inteiro para B. E na saida deve mostrar quantas vezes o digito A aparece no número B. A reposta tem que ser um programa básico usando for ou while.

 

  • Curtir 1
Postado

Ola...! Não é nada "difícil"

#include<stdio.h>/*!< Incluir as rotinas que fazem Entra e Saída (E/S). */
#include<ctype.h>/*!< incluir as rotinas com tratamento de caracteres.  */

/** *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *   *
 * func principal -  aqui você vai encontrar as seguintes palavras chaves:
 * isdigit, while, break, if, else, sprintf, getchar, char, int,
 * strings em C. <<! Estude cada uma delas !>>
 **/
int main( void )
{ char digito;            /*< para o dígito A */
  int  numero;            /*< para o número B */
  char numero_str[ 0xFF ];/*< para o numero B strings */
  char aux;
  int qtd_digitos_iguais_digitos; /*< para o número de ocorrencias de A->B.*/

  /*! pegar o digito A */
  while( !isdigit( digito = getchar()));

  /*! força o numero B */
  while ( 1 != scanf( " %d", &numero))(void)getchar();

  sprintf( numero_str, "%d", numero );/*< imprimir número no strings.      */

  aux = 0; qtd_digitos_iguais_digitos = 0;
  while( numero_str[ aux ] !=   '\0' )/*< escaneando em busca do digito A. */
  { if ( numero_str[ aux ] == digito )
      qtd_digitos_iguais_digitos++;
    aux++; }

  printf( "%d\n", qtd_digitos_iguais_digitos );/*< resultado final         */
  /*! FIM */
  return( 0x0 ); }

 

~~ / ~~

  • Curtir 3
Postado

@Mauro Britivaldo    de acordo com o enunciado,  a entrada precisa ser um inteiro e não um char, e ele não disse que seja positivo, mas creio que seja apenas positivo,   e para inteiro o valor positivo máximo que se pode entrar é 2.147.483.647 , então o código seria assim :

#include <stdio.h>
#include <ctype.h>
#include <conio.h>
int main(){
    int a,b,d,i,c=15,rep=0;
    int vetor[16]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    do{
        printf("Digite Um Numero Inteiro De 1 ate 9 ");
        fflush(stdin);
        scanf("%d",&a);
        if(a<0||a>9)
            printf("Numero Fora De Faixa, Digite outro !\n");
    }while(a<0 || a>9);
    do{
        printf("   Digite Um Numero Qualquer\n");
        printf("Positivo De 0 ate 2.147.483.647 -%c",16);
        fflush(stdin);
        scanf("%d",&b);
        if(b<0||b>2147483647)
            printf("Numero Fora De Faixa, Digite Outro !\n");
    }while(b <0 || b>2147483647);/*eh o valor maximo para inteiros*/
    d=b;
    while(b>0){
        vetor[c]=b%10;
        b/=10;
        c--;
    }
    for(i=15;i>-1;i--){
        if(vetor[i]==a)
            rep++;
    }
    if(rep>0){
        printf("O Digito %d Apareceu %d Vez",a,rep);
        if(rep>1)printf("es");
        printf(" no Numero %d . . . !\n\n",d);
    }
    else
        printf("O Numero %d Nao Teve Nenhum Numero Repetido . . . !\n\n",b);
    return 0;
}

 

  • Curtir 3
Postado
#include <stdio.h>

int main()
{
    int numeroA = 0, numeroB = 0;
    
    printf("Informe um numero(Na faixa de 1 a 9): ");
    scanf("%i", &numeroA);
        
    if (numeroA < 0 || numeroA > 9)
    {
        printf("O numero informado esta fora da faixa.\nTente novamente com um numero na faixa de 1 a 9.\n");
        return 0;
    }
    
    printf("Informe um numero qualquer: ");
    scanf("%i", &numeroB);
    
    int qntVezes = 0, tempNum = numeroB;
    
    while (tempNum)
    {
        if (numeroA == (tempNum % 10))
            qntVezes++;
        
        tempNum /= 10;
    }
    
    printf("O numero %i apareceu %i %s no numero %i.\n", numeroA, qntVezes, (qntVezes != 1) ? "vezes" : "vez", numeroB);
    
    return 0;
}

 

Só precisa de uma verificação simples se o número informado é maior que o limite de um int(2147483647).

  • Curtir 2
  • Membro VIP
Postado

Olá a todos...

 

@Mauro Britivaldo, @devair1010 e @cyer... tá. Gostaria de aproveitar a oportunidade para tirar uma dúvida: qual foi a produtividade do "exercício proposto" ao @carloszexa4?

 

 

Então, sobre o contexto desse tópico... pelo que eu entendi, o "exercício" passou a ser algo como:

Citação

Encontre alguém para fazer por você o seguinte algoritmo: Receba dois inteiros do usuário, o primeiro sendo o dígito que se quer saber quantas vezes aparece e o segundo sendo o número. A entrada tem que ser um valor inteiro qualquer para A entre 1 e 9, e um valor inteiro para B. E na saida deve mostrar quantas vezes o digito A aparece no número B. A reposta tem que ser um programa básico usando for ou while.

 

:lol:

 

 

 

adicionado 0 minutos depois

No caso: #missãoCumprida

  • Curtir 2
Postado
20 minutos atrás, Simon Viegas disse:

qual foi a produtividade do "exercício proposto"

Foi um exercício fácil do qual já tenho lido bastante e faço sem esforço, existe muitos livros gratuitos de C onde qualquer pessoa com força de vontade pode ler antes de vir aqui. Sempre que tenho tempo os leio, então penso que todos podem fazer igual a mim, esse é meu hobby! Eu mal consigo acreditar que exista ainda pessoas com esse tipo de dúvida, só espero que ao ver os exemplos de hoje tome alguma atitude.

  • Curtir 3
Postado

@Simon Viegas  em resposta a sua pergunta: talvez passando um pouco o tempo.

 

"Encontre alguém para fazer por você o seguinte algoritmo...", realmente foi isso que aconteceu, mas talvez não tenha sido em vão, talvez ele olhe como o código funciona e estude o que cada linha faz e consiga aprender algo, resultando no ganho de conhecimento ou talvez ele apenas de um Ctrl+C e Ctrl+V e envie para o professor da faculdade para ganhar os seus pontos.

 

De qualquer forma acredito estar ajudando ele(Seja passando conhecimento ou ajudando ele ganhar os pontos na faculdade ou ambos).

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!