Ir ao conteúdo
  • Cadastre-se

C Programa que calcula média/quantidade de pares e ímpares


12Pedro34

Posts recomendados

Preciso fazer esse exercício:

Citação

 

Escreva um programa em linguagem C que seja capaz de armazenar, em um vetor, 10 números inteiros. Os números devem ser fornecidos pelo usuário. O programa não deve aceitar número negativos. O programa deve calcular e apresentar:

a) A média dos números.
b) A média dos números pares.
c) A média dos números ímpares.
d) A quantidade de números pares.
e) A quantidade de números ímpares.

 

E este é o meu código até agora:

#include <stdio.h>

int main()

{

int i, n, som=0, somp=0, somi=0, par, imp;

float med=0, medp=0, medi=0;

printf("Digite 10 números: \n");

for (i=1;i<=10;i++)

{

printf("\nNúmero %d: ", i);

scanf("%d",&n);

som +=n;

switch(n%2){

case 0: somp=somp+n;

par=par+1;

break;

case 1: somi=somi+n;

imp=imp+1;

break;

}

}

med=som/10.0;

medp=somp/par;

medi=somi/imp;

printf("\nA média total é: %f\n", med);

printf("\nA média dos pares é: %f\n", medp);

printf("\nA média dos ímpares é: %f\n", medi);

printf("\nA quantidade dos pares é: %d\n", par);

printf("\nA quantidade dos ímpares é: %d\n", imp);

return 0;

}

Ele funciona com os pares, mas falha com os ímpares. Gostaria de ajuda para resolver esse bug.

Também quero saber qual a melhor forma de fazer o programa aceitar apenas números positivos (tentei usar o if anteriormente, e deu um bug).

Obrigado desde já.

Link para o comentário
Compartilhar em outros sites

@12Pedro34  Está calculando errado porque as variáveis par e imp não foram iniciadas. É só atribuir zero como fez com as outras.

 

Para aceitar só positivos uma alternativa é colocar um loop para sair apenas se o usuário digitar um número positivo,

 

do{
    printf("\nNúmero %d: ", i);
    scanf("%d",&n);
}while(n<0);

E na atribuição das médias você pode usar cast para para não arredondar o cálculo,

medp=(float)somp/par;
medi=(float)somi/imp;

 

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

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!