Jump to content
Fórum Script Brasil
  • 0

Comecei agora o conteúdo de funções e estou bastante perdida em uma questão. Gostaria de uma ajudinha.


baetersu

Question

Bom galera, como dito anteriormente, comecei agora o conteúdo de funções, porém não estou sabendo desenvolver uma atividade proposta. Ela é a seguinte: Faça uma função chamada MULTIPLO que recebe como parâmetro dois números inteiros e retorna o 1, se o primeiro número for múltiplo do segundo, número e o 0 caso contrário. Exemplo de utilização da função: MULTIPLO(35,5) Retornará o valor 1 MULTIPLO(35,2) Retornará o valor 0 Depois faça um programa que lê dois números inteiros e escreve se o primeiro é múltiplo do segundo, utilizando a função MULTIPLO.

Até agora, tenho isso, mas sei que está errado. Poderiam me ajudar?

int multiplo (int num1, int num2)

{

int multi;

if (num1%num2 == 0)

printf("1");

if (num1%num2 != 0)

printf("0");

return multi;

}

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Olá

Muito bem! É quase isso..., mas observe que quando o número, que chamaremos a, é múltiplo do, que chamaremos b, ao usa operador módulo (%) o resultado da expressão é 0 (SIM, múltiplo). Logo a combinação IF-ELSE é mais que o suficiente para determinar/retornar o padrão. Pois, SE a%b == 0 dê falso o bloco SENÃO é executado e retorna 0 por meio dele.

 

[🙂] Fui claro?

Digamos que preciso verificar Se o número (a) e par, e para isso escrevo a função.

Exemplo

#include"stdio.h"
int
par (int a) {
  if (a%2 == 0)
     return 1;
  
  else
     return 0;
}
int
main (void) {
   printf ("Entre com numero e direi se e par: ");
   int numero = 0;
   scanf (" %d", &numero);

   printf ("Se o numero é par, esta vendo (1)..., agora (%d)\n\n", par (numero));
   return 0;
}

 

Edited by britivaldo
Link to comment
Share on other sites

  • 0
Em 07/02/2022 em 10:33, baetersu disse:

Até agora, tenho isso, mas sei que está errado. Poderiam me ajudar?

int multiplo (int num1, int num2)

{

int multi;

if (num1%num2 == 0)

printf("1");

if (num1%num2 != 0)

printf("0");

return multi;

}

 

A ideia da função está boa, mas falta o seu retorno para o programa principal. Afinal, ela tem que retornar 1 ou 0. Eu fiz alguns ajustes para rodar o programa, bons estudos.

 

#include <stdio.h>
#include <stdlib.h>

 int multiplo (int num1, int num2)

{

    int multi;

    if (num1%num2 == 0)

    multi = 1;

    else

    multi = 0;

    return multi;

    }

int main ()

{

int multiplo1, multiplo2, resultado;

printf ("Digite o valor do primeiro número múltiplo ou não do segundo:");
scanf ("%d", &multiplo1);
printf ("Digite o segundo número:");
scanf ("%d", &multiplo2);

resultado = multiplo (multiplo1,multiplo2);

if (resultado == 1)

    printf ("%d é múltiplo de %d", multiplo1, multiplo2);

else

    printf ("%d não é múltiplo de %d", multiplo1, multiplo2);


return 0;

}

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      652k
×
×
  • Create New...