Quais são os Múltiplos de 9 ou Diferentes de 10!

6 respostas
programaçãologicamatemática
M

Pessoal boa tarde, estou tendo dificuldade quanto a fazer um programa que imprima os múltiplos de 9 ou diferentes de 10.

Estou fazendo desse jeito:

printf("\nPor favor digite o numero: ");
scanf("%d", &numero);

if (numero % 9 == 0 || numero != 10) {	
	printf("\nMultiplo = %d", numero);	
}

Mais ele apenas imprime o mesmo número.

6 Respostas

M

Carissimo colega, se a variavel i já recebe o valor da variavel numero: “i = numero”, como é que ele aqui em baixo faz de novo: “i % numero”, não faz mal? É que estou com muita dúvida em perceber essa parte, ajude-me por favor. blz

M

Essa parte eu pude perceber, obrigado. Mais não era bem essa minha questão, contudo valeu e vou procurar algumas video aulas para melhor excalarecimento. Mais deu para entender, valeu bro.

M

Meu irmão, o enunciado diz o seguinte:

FAÇA UM PROGRAMA QUE IMPRIME APENAS OS MÚLTIPLOS DE 9 OU DIFERENTES DE 10?

C

vc esta pensando errado.

primeiro gere um numero no for para sempre adiciona-lo a 1.
se esse numero for divisivel por 9 ou 10 imprima-o.

int a;
	
for(a = 1; a<100; a++){
	
if( a%9 ==0 || a%10==0){
	System.out.println(a);
}

}
T

@Mauro_Geovane_Tavira

Acho que há um problema (ou ao menos uma confusão) nesse enunciado. Se for levado ao pé da letra, ele diz que o número precisa ser diferente de 10, não divisível por 10 :fearful:. (também não diz que precisa ser de 1 a 100 :confused: ). Meio confuso, não? Pode esclarecer?

int a;

for(a = 1; a<100; a++){
	
  if( a%9 == 0 || a != 10){
    System.out.println(a);
  }

}

Abraços.

T

E ae, Mauro. Você quer que o usuário insira um número e o computador verifique as condições, ou que o programa verifique as condições em um grupo de números e retorne somente os que forem verdadeiros, tipo entre 0 e 100 como o @Cleriston_Lincoln fez?
No primeiro caso, seu código está certo.

printf("\nPor favor digite o numero: ");  //Solicita que o usuário informe um número
scanf("%d", &numero);                     //Armazena o número informado

if (numero % 9 == 0 || numero != 10) {	  //Verifica as condições
	printf("\nMultiplo = %d", numero);	  //Se as condições forem verdadeiras ele exibe a variável "numero"
}

Isso porque você não manipula a variável. Você recebe o número, armazena ele em “numero”, verifica se ele é múltiplo de nove, ou, diferente de 10, e caso verdadeiro, apenas imprime. Você não instrui o programa a fazer nada mais com a variável, ela só é usada para verificar as condições, mas isso não altera ela.
O seu código não está imprimindo o mesmo número que você digita. Você instruiu ele a imprimir caso seja múltiplo de nove ou diferente de 10. Tenta digitar 10. O programa retornou 10?
Isso acontece porque quando você digita um número, pegar o 11, ele não é múltiplo de 9, a primeira condição já é falsa, só que ele é diferente de 10, então ele vai imprimir o número.

Se você quer que o programa pegue o digito e faça a tabuada, é algo mais ou menos assim:

for(int i = 0; i < 10; i++) {    //Aqui você cria um loop em que i começa com 0 e vai somando +1 até deixar de ser menor que 10
    printf("\nMultiplo = %d", (numero * i));    //Aqui você imprime a variável "numero", lembre que i vai receber +1 a cada volta
}

Considerando que você digite 9, vai dar uma saída mais ou menos assim:

Multiplo = 0    //Aqui i está valendo 0, então 9 * 0 = 0
Multiplo = 9    //i recebe +1, 0 + 1. i está valendo 1, logo 9 * 1 = 9
Multiplo = 18   //i recebe +1, 1 + 1. i está valendo 2, logo 9 * 2 = 18
Multiplo = 27   //i recebe +1, 2 + 1. i está valendo 3, logo 9 * 3 = 27
...

Eu não entendi muito bem o enunciado. Eu faria algo assim (usando como base o seu código):

printf("\nPor favor digite o numero: ");    //Solicita...
scanf("%d", &numero);                     //Pega o número

if (numero != 10) {    //Eu entendi que é para imprimir os múltiplos de qualquer número informado, exceto o 10.
    for(int i = 0; i < 10; i++) {   //Aqui ele imprime os múltiplos do número caso ele seja diferente de 10.
	    printf("\nMultiplo = %d", (numero * i));	
}

Espero ter ajudado, vlw.

Criado 21 de abril de 2017
Ultima resposta 21 de abr. de 2017
Respostas 6
Participantes 4