Ir ao conteúdo
  • Cadastre-se
Entre para seguir isso  
tynki

[Resolvido] Checar se o numero é divisivel por 3 e 6 em C

Recommended Posts

Pessoal o professor de Prog I passou uns exercicios para nós treinarmos para a prova e eu estou tendo dificuldades no seguinte exercicio:

Dado um numero, elabore um programa em C para informar se ele e divisvel por 3 e por 6.

Eu fiz este CF até agora:

#include <stdio.h>

int main()

{

int num,resto,resto2,i,k;

printf ("Insira o numero:");

scanf ("%d", &num);

resto=num/3%i;

resto2=num/6%k;

if (i==0&&k==0){

printf ("%d e divisivel por 3 e 6\n", num);

}

else

{

printf ("%d nao e divisivel por 3 e 6\n", num);

}

system ("pause");

return 0;

}

Só que não importa o valor que eu insira (6,12,18 etc...) o programa sempre me retorna dizendo que ele não é divisivel por 3 e 6.

Acredito que o erro esteja no operador if, mas até agora não entendi qual...

Obrigado.

Editado por tynki
Problema resolvido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

int num;

printf("Numero?\n");

scanf("%d", &num);

if((num%3==0) && (num%6==0))

printf("O numero é divisivel por 3 e 6\n");

else

printf("não é!\n");

ex: o numero 12

O resto da divisão de 12 por 6 = 0 (pois 12/6=0), o mesmo para 12 por 3

espero ter ajudado

Compartilhar este post


Link para o post
Compartilhar em outros sites
int num;

printf("Numero?\n");

scanf("%d", &num);

if((num%3==0) && (num%6==0))

printf("O numero é divisivel por 3 e 6\n");

else

printf("não é!\n");

ex: o numero 12

O resto da divisão de 12 por 6 = 0 (pois 12/6=0), o mesmo para 12 por 3

espero ter ajudado

Opa ajudou muito sim... Agora deu certo, eu só estava errando na forma de uso do operador resto '%'...

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites


#include <stdio.h>

int main()
{
int num,resto,resto2,i,k;
printf ("Insira o numero:");
scanf ("%d", &num);
[B] resto=num / 3 [B][COLOR="Red"]% i[/COLOR][/B];
resto2=num / 6 [B][COLOR="#ff0000"]% k[/COLOR][/B];[/B]

if (i==0&&k==0) {
printf ("%d e divisivel por 3 e 6\n", num);
}
else
{
printf ("%d nao e divisivel por 3 e 6\n", num);
}

system ("pause");
return 0;

}

Nas linhas que destaquei lá o valor de i e k é indefinido, pois você não inicializou nenhum dos dois (tb não entendi porque você declarou eles aí).

Nessa parte você precisa simplesmente usar o mod pra checar se vai haver resto ou não.


resto = num % 3;
resto2 = num % 6;
... ... ...
if(resto == 0 && resto2 == 0) ....

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  





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

×