Ir ao conteúdo

Posts recomendados

Postado

A prefeitura de uma cidade fez uma pesquisa entre seus habitantes, armazenando o salário e o número de filhos de cada entrevistado. A prefeitura deseja saber:
a. média do salário da população;
b. média do número de filhos;
c. percentual de pessoas com salário até R$1000,00;

Faça um programa que leia os dados e, ao final, exiba os resultados solicitados. A leitura de dados será encerrada com a entrada de um salário negativo.

 

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

int main(){
    
    int i = 0, j = 0, filhos = 0, somaF = 0;
    float salario = 0, somaS = 0, mediaS = 0, mediaF = 0, percentual = 0, somaP = 0;
    
    while(salario >= 0){
        scanf("%f", &salario);
        scanf("%d", &filhos);
            if(salario <= 1000){
                somaP = somaP + salario;
                i++;
            }
        somaS = somaS + salario;
        somaF = somaF + filhos;
        j++;
    }
    
    mediaS = somaS / j;
    mediaF = somaF / j;
    percentual = ((i * 100) / (j));
    
    printf("%.2f\n", mediaS);
    printf("%.2f\n", mediaF);
    printf("%.2f%%", percentual);
    
    return 0;
}

 

Acredito que estou fazendo somente a acumulação e contas erradas. Preciso de ajuda para arrumar esse programa.

Postado

@immoraesz Os cálculos estão certos, mas a média dos filhos está arredondada já que são operações com inteiros (você pode usar cast nesse caso).

 

E seu código tem que sair do loop logo que chegar na condição de parada. Veja que da forma como fez se entrar com um salário negativo p.ex o código continua com a soma e incremento do contador.

  • Curtir 2

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