Ir ao conteúdo

Posts recomendados

Postado

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

Postado

@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

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!