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!

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