Ir ao conteúdo

Posts recomendados

Postado

olá, comecei recentemente a estudar C por conta própria, estou resolvendo umas questões de um livro e estou empacado em uma, a questão é a seguinte "Escreva um programa em C que receba três números inteiros diferentes digitados no teclado e imprima a soma, a média, o produto, o menor e o maior desses números digitados." bem, até agora, resolvendo exercicios sozinho ou "criando" programas usando o IF e ELSE uso a comparação de uma variável para um valor numerico outra varial sendo no total duas, não três. Gostaria de saber como posso resolver essa questão, não precisam escrever o codigo, apenas uma boa explicação de como devo proceder =) obrigado a todos que puderem me ajudar o/

Postado

Simples amigo, na parte da soma é só você fazer uma função de soma sobre cada número digitado, e o resultado, aderir a uma variável, abre outra função com o resultado dessa variável e divide por três e acrescenta uma nova variável para o resultado da segunda função, para imprimir o produto essa parte não entendi bem, você me poderia explicar melhor... E no final você pode fazer um if comparando se 1 for maior que 2 e 3, exibir 1, e assim fazendo 3 if's, ou usando o else. Desde já falo que não tenho conhecimento em C e sim outras linguagens, mas o grosso modo da explicação do algoritmo, era o que você precisava.

Postado

@luketao meu problema é só mesmo na hora do programa imprimir o resultado de maior e menor, quanto a operações matematicas isso é de boa. O erro que acontece é o seguinte, eu escrevo um IF para x > y e um ELSE IF para y > z e   z > x... depois um IF para x < y e depois novamente ELSE IF y < z e z <x ... na hora de impressão dos numeros para apresentar o maior e menor... o codigo fica assim:
if (x > y)
printf ("%d maior", x);
else if (y > z)
printf ("\n%d maior", y);
else if (z > x)
 printf ("\n%d maior", z);
 if (x < y)
 printf ("\n%d menor", x);
 else if (y < z)
 printf ("\n%d menor", y);
 else if (z < x)
printf ("\n%d menor", z);

 

nao sei, posso ta fazendo errado, ainda estou muito no começo... enfim, quando eu coloco Y maior e Z menor é apresentado como X menor e Y maior

Postado

Cara, porque não sei em C, mas na linguagem em que eu programo, eu consigo fazer isso mais ou menos assim. (Coloquei esse tipo de linguagem para entender melhor, não como exato nos comandos)

if [ A > B]

else [A > C] 

print "A"

 

if [ B > A]

else [B > C] 

print "B"

 

if [ C > B]

else [C > A] 

print "C"

Postado

Você pode usar um loop para facilitar,

 

#include <stdio.h>

int main(){
    int n, soma = 0, produto = 1;
    int qtd, menor, maior;

    for(qtd = 0; qtd < 3; qtd++){
        scanf("%d", &n);
        if(!qtd) maior = menor = n;
        if(n > maior) maior = n;
        if(n < menor) menor = n;
        soma += n;
        produto *= n;
    }
    
    printf("\n\nSoma = %d\nMedia = %.2f\n", 
        soma, (float)(soma / 3.0));
    printf("Produto = %d\nMenor = %d\nMaior = %d\n",
        produto, menor, maior);
    return 0;
}

 

Visitante
Este tópico está impedido de receber novas respostas.

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!