Resto de uma divisão inteira em linguagem C

Por: Eduardo Casavella
A divisão inteira

Quando realizamos uma divisão de duas variáveis inteiras, a parte fracionária é eliminada de forma automática, ou então é “truncada”.

Como a parte fracionária é descartada, temos que o resultado de uma divisão inteira é sempre um número inteiro.

Por exemplo:

7 / 2 tem como resultado 3 e não 3,5 que é um número real

2 / 3 é zero e não 0,66.

Vejamos um exemplo prático

Programa para fazer divisão de inteiros em C

#include <stdio.h>
#include <conio.h>

int main(void)
{
	int n1,n2,resto,res;
	
	printf ("\nDigite um numero:");
	scanf ("%d", &n1);
	
	printf ("\nDigite um numero:");
	scanf ("%d", &n2);
	
	res = n1 / n2;
	
	printf("\nResultado da divisao de %d / %d = %d. \n",n1,n2,res);
	
	getch();
	return(0);
}

Tela de Execução com os valores do Exemplo

tela de execução divisão

Tela de execução divisão de inteiros

tela de execução divisão 2

Tela de execução divisão de inteiros

O resto da divisão inteira

O operador % retorna o resto da divisão de um número por outro.

5 % 2 = 1
4 % 2 = 0

Em alguns casos, este operador é bastante útil.

Por exemplo, em algumas aplicações é necessário extrair dígitos de um valor inteiro.

Uma forma de fazer isso é dividir o valor inteiro por 10 e armazenar o resto em uma variável.

Assim podemos guardar o último dígito em do número em uma variável.

Outro caso interessante que pode ser resolvido com o resto da divisão é verificar se um valor é par ou ímpar.

Sabemos que o número é par se for divisível por 2 e o resto for zero.

Exercício: Faça um programa em linguagem C para verificar se um valor é par ou impar.

//Exemplo de programa em C
//Par ou impar.
#include <stdio.h>
#include <conio.h>
int main(void)
{
	int n1,resto;
	
	printf ("\nDigite um numero:");
	scanf ("%d", &n1);
	
	resto = n1 % 2;
	printf ("O resto da divisao e %d",resto);
	
	if (resto == 0)
		printf("\nO numero %d e par. \n",n1);
	else
		printf("\nO numero %d e impar. \n",n1);
	
	getch();
	return(0);
}

Tela de execução com um valor Par e um valor Impar

tela de execução valor par

Tela de execução valor Par

tela de execução valor impar

Tela de execução valor Impar

Até a próxima!

7 respostas a Resto de uma divisão inteira em linguagem C

  • osvaldo disse:

    gostei muito do site e gostaria de ter mais informações a cerca dele

  • diego disse:

    muito obrigado, ajudou bastante!

  • Rodrigo disse:

    Parabéns pela matéria. Me auxiliou muito!

  • Adilson Quiangala disse:

    Obrigado! Porque o que eu tanto necessitava me foi dado e já compreendi.

  • Rodrigo Gottlieb disse:

    Excelente explicação!
    Procurei por vídeos de auxílio, mas com esta forma simples de exemplificar e ensinar, ficou muito claro o aprendizado.
    Conhecimento adquirido!
    Obrigado e parabéns!

  • Tiago Reis disse:

    Muito boa a sua explicação. Eu estava fazendo um comando para verificar se o ano é bissexto, sendo que p/ ser bissexto o resto da divisão do número por 4 tem que ser zero. Seu post clareou minhas idéias

  • rafael disse:

    #include
    int main()
    {
    int N1, N2, N3,menor, maior;

    printf(“digite N1: \n”);
    scanf(“%d”,&N1);
    printf(“digite N2: \n”);
    scanf(“%d”,&N2);
    printf(“digite N3: \n”);
    scanf(“%d”,&N3);
    if ((N1 <= N2) &&(N1 <= N3))
    printf("\n O menor e: %d\n", N1);
    if ((N2 <= N1) &&(N2 <= N3))
    printf("\n O menor e: %d\n", N2);
    if ((N3 <= N1) &&(N3 = N2) &&(N1 >= N3))
    printf(“\n O maior e: %d\n”, N1);
    if ((N2 >= N1) &&(N2 >= N3))
    printf(“\n O maior e: %d\n”, N2);
    if ((N3 >= N1) &&(N3 >= N2))
    printf(“\n O maior e: %d\n”, N3);
    if (maior%2==0)
    {
    printf(“Par”);
    }else{
    printf(“impar”);
    }

    return 0;
    }

    fiz esse código só que está errado por que toda hora que eu coloco um número par por exemplo 22 ele da par mas se eu coloco um impar como o 33 ele ta dando par tbm oq eu errei e como faço pra dar par quando for par e impar quando for impar