Construa um algoritmo que leia um conjunto de dados contendo altura e sexo ('m' para masculino e 'f'

Construa um algoritmo que leia um conjunto de dados contendo altura e sexo ("m" para masculino e "f" para feminino) de 50 pessoas e, depois, calcule e escreva:.

1 Resposta

  • Ruiva

    , tudo bem?

    início do código

    #include < stdio.h>

    #include < stdlib.h>

    int main(){

        int n = 50;

        float altura[n];

        float mediam = 0;

        char sexo[n];

        char op;

        int numh = 0;

        printf("digite sua altura e o sexo, sendo "1" - masculino e "2" - femininon");

        scanf("%c", & op);

        sexo[0] = op;

        scanf("%f", & altura[0]);

        if (op == '1'){

            numh++;

        }else{

            mediam += altura[0];

        }

        float maior = altura[0];

        float menor = altura[0];

        fflush(stdin);

        for (int i = 1; i < n; i++){

            scanf("%c", & op);

            sexo[i] = op;

            scanf("%f", & altura[i]);

            if (op == '1'){

                numh++;

            }else{

                mediam += altura[i];

            }

            if (maior < altura[i]){

                maior = altura[i];

            }

            if (menor > altura[i]){

                menor = altura[i];

            }

            fflush(stdin);

    }

    printf("maior altura: %.2fn", maior);

    printf("menor altura: %.2fnn", menor);

    printf("media da altura das mulheres: %.2fnn", mediam / (n - numh));

    printf("numero de homens: %dnn", numh);

    float percentualm = (n - numh) * 100 / (n * 1.0);

    float percentualh = numh * 100 / (n * 1.0);

    printf("percentual das mulheres: %.2f%%n", percentualm);

    printf("percentual das homens: %.2f%%n", percentualh);

    float diferencapercentual;

    if (percentualh > percentualm){

        diferencapercentual = percentualh - percentualm;

    }else{

        diferencapercentual = percentualm - percentualh;

    }

    printf("diferenca percentual: %.2f%%n", diferencapercentual);

    return 0;

    }

    fim do código

    detalhes:

    o fflush serve para limpar a entrada padrão, pois ocorre de ficar "lixo" acumulado.

    o n está servindo para facilitar a alteração, no caso de mudar as 50 pessoas, basta mudar nesta variável e o código vai continuar funcionando.

    o scanf   serve para receber dados especificados pelo programador.

    o printf   serve para imprimir determinado texto para o usuário, sendo possível passar variáveis para o mesmo.

    importante:

    não está sendo feito tratamento para possíveis erros do usuário. isso é apenas um código básico. quaisquer defeitos, peço desculpa desde já!

Clique aqui para adicionar a sua resposta.