Ir ao conteúdo
  • Cadastre-se
rjort_nine

[C][INICIANTE][DUVIDA]Uso do if e else

Recommended Posts

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/

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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"

Compartilhar este post


Link para o post
Compartilhar em outros sites

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;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×