Ir ao conteúdo

Posts recomendados

Postado

bom pessoal estou meio enrolado num programa aq que pede para o usuário digitar numero reais maiores ou iguais a 0, o programa deverá pedir para o usuário fornecer numeros até que ele digite um num negativo o programa deverá imprimir na tela o valor medio dos números digitados maiores ou iguais a 0.

 

a parte do While tá tranquilo, o problema é o valor médio dos números, não estou conseguindo pegar a lógica, tentei fazer com uma variável contador mas não deu certo. algum de vocês poderiam me ajudar aqui.

 

desde já agradeço a todos que responderem.

  • Amei 1
Postado

@joao.victork991     você precisa ir acumulado o valor dos números lidos e a cada número lido você incrementa o contador , e depois de digitar um número negativo , faça divisão do valor total dos números lidos pelo contador , assim você obtém a média  .

incrementar é

variável++;

acumular o valor é

variável += número lido ;

 

 

  • Curtir 1
  • Obrigado 1
Postado
1 hora atrás, devair1010 disse:

@joao.victork991     você precisa ir acumulado o valor dos números lidos e a cada número lido você incrementa o contador , e depois de digitar um número negativo , faça divisão do valor total dos números lidos pelo contador , assim você obtém a média  .

incrementar é


variável++;

acumular o valor é


variável += número lido ;

 

 

@devair1010 fiz com contador mas está dando o resultado errado porque ele acaba contando com o numero negativo, poderia me mostrar um exemplo que ele nao conte com o numero negativo

  • Obrigado 1
Postado

galera, depois de muito trabalho acabei resolvendo. gostaria de dicas para o que  eu possa melhorar na resolução.

 

ficou assim

 

int main() {
int n, contador = 0;
float soma = 0;


 printf("digite um numero inteiro positivo para sair digite um negativo.\n");

 while(n>=0){

    scanf("%d",&n);


    if(n>=0){
        soma += n;
        contador++;
    }
 }


printf("a media dos numeros inteiros positivos eh %.2f\n", soma/contador);

return 0; }

  • Curtir 1
Postado

@joao.victork991 Olá. Cara... é isso aí. Tem várias formas p resolver esse exercício

Apenas vou passar uma forma alternativa de resolver o problema:

#include <stdio.h>

const int true = 1;

int main(void) {

    float nota;
    int qtde_notas;
    float soma = 0, media = 0;

    qtde_notas = 0;

    while (true) {

        printf("Digite a nota %d: ", qtde_notas + 1);
        scanf("%f", &nota);

        if (nota < 0)
            break; // sai do do while

        soma += nota;

        qtde_notas++;
    }

    media = soma / qtde_notas;

    printf("\nMedia das notas digitadas: %.2f\n", media);

    return 0;
}

Mas devo dizer q do modo q você fez o exercício está ótimo. É praticando mesmo q se aprende e é sempre melhor quando a gente consegue resolver sozinho um exercício tal como você fez. É por aí amigo!

Postado
8 horas atrás, giu_d disse:

@joao.victork991 Olá. Cara... é isso aí. Tem várias formas p resolver esse exercício

Apenas vou passar uma forma alternativa de resolver o problema:


#include <stdio.h>

const int true = 1;

int main(void) {

    float nota;
    int qtde_notas;
    float soma = 0, media = 0;

    qtde_notas = 0;

    while (true) {

        printf("Digite a nota %d: ", qtde_notas + 1);
        scanf("%f", &nota);

        if (nota < 0)
            break; // sai do do while

        soma += nota;

        qtde_notas++;
    }

    media = soma / qtde_notas;

    printf("\nMedia das notas digitadas: %.2f\n", media);

    return 0;
}

Mas devo dizer q do modo q você fez o exercício está ótimo. É praticando mesmo q se aprende e é sempre melhor quando a gente consegue resolver sozinho um exercício tal como você fez. É por aí amigo!

valeu. e obrigado por me mostrar mais um caminho de resolução 

  • Obrigado 1

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!