Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- //Variáveis globais
- //Array de temperaturas
- float temperaturas[10000];
- //Variável reutilizada para recolher as temperaturas inseridas pelo utilizador
- float temperatura;
- //Apontador da posição no array
- int apontador = 0;
- //Input do utilizador
- void input(){
- printf("Insira as temperaturas registadas uma de cada vez.\n");
- printf("Insira -99 para terminar a sequencia de temperaturas.\n\n");
- while (temperatura != -99)
- {
- printf("Temperatura %d: ", apontador + 1);
- scanf("%f", &temperatura);
- if (temperatura != -99){
- temperaturas[apontador] = temperatura;
- apontador++;
- }
- }
- }
- //Debug - escreve todo o array das temperaturas
- void escreverTemperaturas(){
- printf("\nTemperaturas recolhidas:\n");
- for (int i = 0; i < apontador; i++){
- printf("%f\n", temperaturas[i]);
- }
- }
- //Devolve a media de todas as temperaturas recolhidas
- float mediaTemperaturas(){
- float totalTemperaturas = 0;
- for (int i = 0; i < apontador; i++){
- totalTemperaturas += temperaturas[i];
- }
- return totalTemperaturas / apontador;
- }
- //Devolve a temperatura mais próxima de 0 graus
- float temperaturaProxima0Graus(){
- float temperaturaMaisProxima = 99999999;
- float diferencaAteZero;
- for (int i = 0; i < apontador; i++){
- diferencaAteZero = abs(0 - temperaturas[i]);
- if (diferencaAteZero < temperaturaMaisProxima){
- temperaturaMaisProxima = temperaturas[i];
- }
- }
- return temperaturaMaisProxima;
- }
- int main(){
- //Recolher temperaturas do utilizador
- input();
- escreverTemperaturas();
- //Escrever a media das temperaturas recolhidas
- printf("\nA media das temperaturas foi de %f graus.\n", mediaTemperaturas());
- //Escrever a temperatura mais próxima de 0 graus
- printf("A temperatura mais proxima de 0 graus foi %f graus.\n", temperaturaProxima0Graus());
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement