Ir ao conteúdo
  • Cadastre-se

C Exercício laços de repetição


otávio10204
Ir à solução Resolvido por New Nerd,

Posts recomendados

Ler informações sobre 10 pessoas de um grupo. Para cada pessoa deve ser lida a altura e o sexo. Fazer um algoritmo que calcule e mostre: a) A maior e a menor altura do grupo; B) A média das alturas das mulheres; c) A média das alturas de todos do grupo; d) Quantos homens e mulheres;

 

Não posso usar vetores nem nada do gênero. Apenas laços de repetição etc. 

O máximo q conseguiu foi isso. (SOU INICIANTE)

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
main (){
    setlocale(LC_ALL,"portuguese");
    int m,f,i,sexo,masculino=0,feminino=0;
    float altura,peso;    
        for (i=0;i<=2;i++){
            printf(" 1. Masculino\n 2. Feminino\n");
            scanf("%d",&sexo);
            printf("Digite a sua altura: ");
            scanf("%f",&altura);
            printf("Digite o seu peso: ");
            scanf("%f",&peso);
            if (sexo==1){
                masculino++;
            }
            if (sexo==2){
                feminino++;
            }
}    
printf("O número de pessoas do sexo masculino é %d\n ",masculino);
printf("O número de pessoas do sexo femino é %d\n",feminino);


}

Link para o comentário
Compartilhar em outros sites

  • Solução

Olha aí fiz um exemplo pra você, ainda deve ter algo a fazer com a informação "peso"...

Com certeza a muitas maneiras de fazer o exercício, meu código ficou simples mas com certeza a maneiras melhores de escreve-lo.

 

Dica: é uma boa prática de programação iniciar as variáveis declaradas, mesmo que com valor nulo.

 

Obs: deixei a média do grupo para você resolver.

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

int main ()
{
    setlocale(LC_ALL, "Portuguese");
    int f = 0, sexo = 0, masculino = 0, feminino = 0;
    float altura = 0.0f, peso = 0.0f, alturaF = 0.0f, alturaM = 0.0f, pesoF = 0.0f;
    float menor = 100.0f, maior = 0.0f;

    for (int i=0; i < 4; i++)
    {
        printf("1. Masculino\n2. Feminino\n");
        scanf("%d",&sexo);
        printf("Digite a sua altura: ");
        scanf("%f",&altura);
        printf("Digite o seu peso: ");
        scanf("%f",&peso);

        if (altura <= menor) menor = altura;
        if (altura >= maior) maior = altura;

        if (sexo==1)
        {
            masculino++;
            alturaM += altura;
        }
        else
        {
            feminino++;
            alturaF += altura;
        }
    }
    printf("A maior altura é: %f\n", maior);
    printf("A menor altura é: %f\n\n", menor);

    printf("A média de altura das mulheres é: %f\n\n", alturaF / feminino);

    printf("A média de altura dos homens é: %f\n\n", alturaM / masculino);

    printf("O número de pessoas do sexo masculino é: %d\n",masculino);
    printf("O número de pessoas do sexo femino é: %d\n", feminino);

    return 0;
}

Bons estudos!

adicionado 1 minuto depois

Mais uma coisa, ficou configurado para 4 pessoas, só aumentar lá no loop.

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

Oi, depois de um tempo tentando eu consegui resolver sozinho, porém não estava conseguindo mostrar a MENOR altura entre todos do grupo. Agora vendo o seu código consegui. MUITO OBRIGADO MESMO por ter tirado um tempo do seu dia para me ajudar! Também achei estranho que o peso não serve para nada, verei se o professor não esqueceu de um pedaço da questão. 

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