Erro ao fazer soma no do-while

Galera preciso cria um programa que leia um número do teclado até que encontre um número igual a zero. No final, mostre a soma dos números digitados e a média destes números.

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

int main(){
int num;
int soma;

do{
    printf("Digite um numero inteiro: ");
    scanf("%i", &num);
    if(num==0){
        soma += num;
    }
}while(num > 0);

printf("A somas dos numeros inteiros sao: %i", soma);

return 0;
}

Não estou conseguindo fazer a soma e não faço a minima ideia de como fazer a média dos números, alguém me ajuda por favor!

No seu if você colocou: num ==0, mas no caso você deveria somar todo os número diferente de zero! E para calcular a média você deve ter uma variável para contar o total de numeros digitados. Assim:

  int num;

  int soma=0;
  int count =0;

  do{
      printf("Digite um numero inteiro: ");
      scanf("%i", &num);
      if(num!=0){
          count+=1;
          soma += num;
      }
  }while(num > 0);

  //Média = somaTotal/quantidade
  float media = (float)soma/count;

  printf("A somas dos numeros inteiros sao: %i", soma);
  printf("Média: %f", media);

  return 0;
}

Mano, muiiito obrigado sério mesmo, me salvou kkk, mais aqui, por algum motivo o média sempre da zero, tem como me responder o pq?

Foi mal! Faz assim:

float media = (float)soma/count;

O motivo dever ser esse:
https://www.guj.com.br/t/erro/400782/2?u=jelson1

ainda sim está me retornando zero

//Média = somaTotal/quantidade

float media = (float)soma/count;

printf(“A somas dos numeros inteiros sao: %d \n”, soma);
printf(“Media: %f”, soma/count);

No lugar de soma/count coloque media (a variável media criada). Tinha digitado errado!

1 curtida

Deu certo?!

agora deu certo manin
muiiiito obrigado serio mesmo

1 curtida