Ir ao conteúdo
  • Cadastre-se

C exercicio de programação em C


RattleHead
Ir à solução Resolvido por thefill,

Posts recomendados

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;

}
 

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

  • Solução

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
Link para o comentário
Compartilhar em outros sites

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