Não estou conseguindo fazer esse exercicio proposto pelo professor, já que minha media está dando erro e eu ainda não entendi direto o que é realloc (alguém pode me ajudar?)
Desenvolva um programa que receba o salário de uma quantidade indeterminada de pessoas e ao final exiba: (em c)
Obs.: tem que ter o realloc
a)Todos os salários
b)A média entre todos os salários digitados
c)O maior e o menor salário.
*Meu programa até o momento*
#include
#include
#include
int main(void) {
setlocale(LC_ALL,"");
float *salario, soma=0, media=0.0;
int quantidadef = 1 , i, pessoas = 0;
printf("\nQuantos funcionarios são: ");
scanf("%d", &quantidadef);
salario =calloc (quantidadef, sizeof(float));
for(i=0;i
printf("\nEntre com o salario %i: ", i+1);
scanf("%f", &*salario);
media = (pessoas + *salario)/ quantidadef;
}
printf("\nA média dos salários é: %.2f", media);
free(salario);
return 0;
}
Respostas
respondido por:
1
Resposta:
#include <stdio.h>
#include <stdlib.h>
int main() {
int quantidade = 0;
double media = 0.0;
double *salario = malloc(sizeof(double));
printf("Quantidade de pessoas: ");
scanf(" %i%*c", &quantidade);
salario = realloc(salario, quantidade * sizeof(double));
for(int i = 0; i < quantidade; i++) {
printf("Digite o salario: R$ ");
scanf(" %lf%*c", &salario[i]);
media += salario[i];
}
if(quantidade != 0) {
media /= quantidade;
}
printf("Media: R$ %.2f \n", media);
return EXIT_SUCCESS;
}
Perguntas similares
5 anos atrás
5 anos atrás
5 anos atrás
8 anos atrás
8 anos atrás
8 anos atrás
9 anos atrás
9 anos atrás