Ir ao conteúdo

C exercicio de programação em C


Ir à solução Resolvido por thefill,

Posts recomendados

Postado

Boa noite,
Preciso de uma ajuda em um Exercício em C. Tentei fazer mas acho que só fiz bagunça.

 

A questão a ser resolvida é a seguinte:

 

Construa um programa que leia valores numéricos inteiros positivos e apresente no final, a quantidade, o somatório, o maior e o menor valores lidos. O programa deve terminar quando o usuário informar 0 (zero).

 


#include<stdio.h>


int main()
{
 int numero, guarda_numero, guarda_maior, guarda_menor, total;
 int i;

 printf("Entre com o %d numero inteiro: ");
 scanf("%i", &numero);

 guarda_numero=numero;
 total = total + numero;

 for (i=1; i++;)
 {
 printf("\n Entre com o %d numero inteiro: ",i+1);
 scanf("%i", &numero);

 while (numero==0)
    {
    if(numero>guarda_maior)
    guarda_maior=numero;
    }
    else
    }
    if(numero<guarda_menor)
    guarda_menor=numero;

}


 printf("\nA quantidade de numeros colocados foi: %d", guarda_numero);
 printf("\nA soma dos numeros colocados e: %d", total);
 printf("\nO menor numero entrado e: %d", guarda_menor);
 printf("\nO maior numero entrado e: %d", guarda_maior);

 // getch();

 return 0;

}
 

Postado

Oi, boa noite, eu fiz aqui, o código deve ficar assim:

#include <stdio.h>

int main()
{
    int qnt = 0, sum = 0, maior = 0, menor = 0, input = 0;
    
    do{
        printf("Digite um numero: ");
        scanf("%i", &input);
        
        qnt = qnt + 1;
        sum = sum + input;
        
        if(input > maior)
            maior = input;
        if(menor > input)
            menor = input;
        
    }while(input != 0);
    
    printf("\nA quantidade total de numeros digitados foram: %i"
           "\nO somatorio foi: %i"
           "\nO maior numero foi: %i"
           "\nO menor numero foi: %i", qnt, sum, maior, menor);
           
    return 0;
}

 

  • Obrigado 1
  • Solução
Postado

Boa tarde, revisando meu código pude perceber um erro na parte onde ele recebe o menor número.

15 horas atrás, thefill disse:

int qnt = 0, sum = 0, maior = 0, menor = 0, input = 0;

 

 A primeira parte do erro é quando eu passo para o programa um inteiro com o nome de menor e com valor inicial de 0.

 

15 horas atrás, thefill disse:

if(menor > input) menor = input;

 

A segunda parte é quando eu verifico se o valor passado pelo usuário é menor que a variável de nome menor, que no caso é zero, dessa forma nem um valor positivo sera menor que zero.

 

Fiz as alterações necessárias:

 

#include <stdio.h>

int main()
{
    int qnt = 0, sum = 0, maior = 0, menor, input = 0;
    
    do{
        printf("Digite um numero: ");
        scanf("%i", &input);
        
        qnt = qnt + 1;
        sum = sum + input;
        
        if(input > maior)
            maior = input;
        if((menor > input) && (input != 0))
            menor = input;
        
    }while(input != 0);
    
    printf("\nA quantidade total de numeros digitados foram: %i"
           "\nO somatorio foi: %i"
           "\nO maior numero foi: %i"
           "\nO menor numero foi: %i", qnt, sum, maior, menor);
           
    return 0;
}

 

Dessa forma ele pula quando o usuário informar ao programa o valor zero.

 

image.png.48297fd74b8a45cdafe92a510a2b66c0.png

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