Jump to content
Fórum Script Brasil
  • 0

Duvida em exercicio em C


Goth

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...