Ir ao conteúdo
  • Cadastre-se

Duvida Com média simples em C


dieu007

Posts recomendados

Fiz o seguinte código:

 

int main(int argc, char *argv[])
{
    
    int a, b, c, media;
   
    
     //leia
   printf("Digite o primeiro numero\n");
scanf("%f", &a);
   printf("Digite o segundo numero\n");
scanf("%f", &B);
   printf("Digite o terceiro numero\n");
scanf("%f", &c);
   media = (a + b + c)/3;
   printf("A media dos numeros e %d\n", media);
 
  
    system("PAUSE");
  return 0;

 

 

 

Minha dúvida é porque não está fechando a média, está dando um número bem fora... deixei em float pois quero média quebrada, se eu colocar em double funciona normal, só que apenas médias inteiras... Onde estou errando???

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@dieu007

Você está lendo em float mas está declarando as variáveis como inteiro. E também está mostrando como inteiro.

Corrija esses pontos.


Na divisão, você tem que informar para o compilador que o número 3 é do tipo float.

Faça assim:

 

media = (a + b + c)/3.0f

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@dieu007

Você está lendo em float mas está declarando as variáveis como inteiro. E também está mostrando como inteiro.

Corrija esses pontos.

Na divisão, você tem que informar para o compilador que o número 3 é do tipo float.

Faça assim:

 

media = (a + b + c)/3.0f

 

Amigo não consegui..... mesmo declarando em float continua dando os mesmos resultados inteiros na divisão!

 

  

    int a, b, c;

    float media;

   

    

     //

   printf("Digite o primeiro numero\n");

scanf("%f", &a);

   printf("Digite o segundo numero\n");

scanf("%f", &B);

   printf("Digite o terceiro numero\n");

scanf("%f", &c);

   media = (a + b + c)/3.0f;

   printf("A media dos numeros e %f\n", media);

 

    system("PAUSE");    

  return 0;

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

a,b e c continuam como int e a leitura deles está como float.

 

 

Amigo não consegui..... mesmo declarando em float continua dando os mesmos resultados inteiros na divisão!

 

  
    int a, b, c;
    float media;
   
    
     //
   printf("Digite o primeiro numero\n");
scanf("%f", &a);
   printf("Digite o segundo numero\n");
scanf("%f", & B);
   printf("Digite o terceiro numero\n");
scanf("%f", &c);
   media = (a + b + c)/3.0f;
   printf("A media dos numeros e %f\n", media);

 
    system("PAUSE");    
  return 0;

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Com as correções feitas, aqui funcionou perfeitamente.

int main(int argc, char *argv[]){        float a, b, c, media;            //leia   printf("Digite o primeiro numero\n");scanf("%f", &a);   printf("Digite o segundo numero\n");scanf("%f", &;   printf("Digite o terceiro numero\n");scanf("%f", &c);   media = (a + b + c)/3.0f;   printf("A media dos numeros e %.2f\n", media);       system("PAUSE");  return 0;}

Você continua desligado na hora de usar %f e %d.

Link para o comentário
Compartilhar em outros sites

Com as correções feitas, aqui funcionou perfeitamente.

int main(int argc, char *argv[]){        float a, b, c, media;            //leia   printf("Digite o primeiro numero\n");scanf("%f", &a);   printf("Digite o segundo numero\n");scanf("%f", &;   printf("Digite o terceiro numero\n");scanf("%f", &c);   media = (a + b + c)/3.0f;   printf("A media dos numeros e %.2f\n", media);       system("PAUSE");  return 0;}

Você continua desligado na hora de usar %f e %d.

 

Valeu Math.Pi... realmente eu estava desligado a esse detalhe, mas nem tanto, logo depois vi o erro e mesmo assim o problema persistia, ai que percebi que o erro não era só meu, pois eu estava usando a ultima versão do Dev C++ a 5.11 e foi só instalar uma versão mais antiga aqui rodou lisinho mesmo. Agradeço e muito a sua paciência, ainda estou aprendendo mas logo eu chego la! Valeu....

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...