Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida em exercicio em C


Goth

Pergunta

Boa noite galera,

Gostaria de uma ajuda em um programa que estou fazendo, mas sou novo em C, eu estou quase terminando ele. O problema e assim:

Faça um programa que obtenha números até que o valor zero seja digitado. Este programa deve apresentar:

a) A soma dos números digitados

b ) A quantidade dos números digitados

c) A média aritmética dos números digitados

d) O maior e o menor número digitado

Eu fiz ate a c, mas não consegui intender a logica da d, não consegui fazer

fiz ate agora assim:

#include <stdio.h>
#include <stdlib.h>
main()
{
      int cont, soma, n, maior, menor, media;
      maior=0; 
      printf("Digite numeros:\n");
      soma=0;
      cont = 0;
      
      while(n!=0)
      {
        scanf("%d",&n);
        soma=soma+n;
        cont++;
        if(maior<n)
           maior=n;
         }
      cont--;
      printf("Soma = %d\n",soma);
      printf("Total Digitados = %d\n",cont);
      printf("Media = %d\n",media=soma/cont);
      printf("O maior numero digitado = %d\n", maior);
      printf("O menor numero digitado = %d\n", menor);
      
      system("pause");
}

Fiz a parte do maior, só falta a do menor, que eu não consigo entender.

Alguém pode me dar uma força ae

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Olha uma das formas é essa que você fez, na hora que u usuário estiver digitando os números você compara para ver se é maior que o maior, se for você altera o maior:

if(NumDigitado > maior)
           maior = NumDigitado;
o mesmo você pode fazer para verificar o número menor: Segue o código abaixo como exemplo: Não aconselho utilizar o break; gostaria que pensasse e refizess eo código de forma mais organizada.
#include <stdio.h>
#include <stdlib.h>
main()
{
      int cont, soma, numDigitado, maior, menor, media;
       
      printf("Digite numeros:\n");
      soma=0;
      cont = 0;
      
      while(numDigitado!=0)
      {
        scanf("%d",&numDigitado);
        if (numDigitado == 0)
           break;
        if (cont ==  0) 
        {
                maior = numDigitado;
                menor = numDigitado;
                
        }
        
        soma=soma+numDigitado;
        cont++;
        if(numDigitado > maior)
           maior = numDigitado;
           
           if( numDigitado < menor)
           menor=numDigitado;
           
         }
      
      
      
      printf("Soma = %d\n",soma);
      printf("Total Digitados = %d\n",cont);
      printf("Media = %d\n",media=soma/cont);
      printf("O maior numero digitado = %d\n", maior);
      printf("O menor numero digitado = %d\n", menor);
      
      system("pause");
}

Link para o comentário
Compartilhar em outros sites

  • 0
Boa noite galera,

Gostaria de uma ajuda em um programa que estou fazendo, mas sou novo em C, eu estou quase terminando ele. O problema e assim:

Faça um programa que obtenha números até que o valor zero seja digitado. Este programa deve apresentar:

a) A soma dos números digitados

b ) A quantidade dos números digitados

c) A média aritmética dos números digitados

d) O maior e o menor número digitado

Eu fiz ate a c, mas não consegui intender a logica da d, não consegui fazer

fiz ate agora assim:

#include <stdio.h>
#include <stdlib.h>
main()
{
      int cont, soma, n, maior, menor, media;
      maior=0; 
      printf("Digite numeros:\n");
      soma=0;
      cont = 0;
      
      while(n!=0)
      {
        scanf("%d",&n);
        soma=soma+n;
        cont++;
        if(maior<n)
           maior=n;
         }
      cont--;
      printf("Soma = %d\n",soma);
      printf("Total Digitados = %d\n",cont);
      printf("Media = %d\n",media=soma/cont);
      printf("O maior numero digitado = %d\n", maior);
      printf("O menor numero digitado = %d\n", menor);
      
      system("pause");
}
Fiz a parte do maior, só falta a do menor, que eu não consigo entender. Alguém pode me dar uma força ae Desde já agradeço.
Pode usar uma variável aux amigo, que acumule o maior valor. Comparação feita na entrada dos dados.
if(a>b)
aux=a;

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...