### Convert a decimal number to octal in C :

In this tutorial, we will learn how to convert a decimal number to octal in *c programming language*. The octal number system is a *base-8* number system. To represent one number in octal, digits from *0 to 7* is used. If a number is in decimal and if we want to convert it to octal, how to achieve it? Let’s take a look at a simple example :
Suppose we want to convert the number *100* to octal. We will keep dividing this number by *8* and keep appending the remainder till the number becomes *0* :

```
100 % 8 = 12 (quotient) / 4 (remainder) --> 4 (result)
12 % 8 = 1 (quotient) / 4 (remainder) --> 44 (result)
1 % 8 = 0 (quotient) / 1 (remainder) --> 144 (result)
quotient is 0 --> stop
```

To convert a decimal number to octal programmatically using the above method, let’s take a look into the C program first :

### C program to convert a decimal number to octal :

```
#include <stdio.h>
//5
int convertToOctal(int no)
{
//6
int octal = 0;
int multiplier = 1;
//7
while (no != 0)
{
//8
octal = octal + (no % 8) * multiplier;
no = no / 8;
multiplier = multiplier * 10;
}
//9
return octal;
}
int main()
{
//1
int decimalNo;
//2
printf("Enter a Decimal Number : ");
//3
scanf("%d", &decimalNo);
//4
printf("Octal representation for %d is %d\n", decimalNo, convertToOctal(decimalNo));
}
```

### Explanation :

- Create one integer variable
*decimalNo*to store the user input number. - Ask the user to enter a number.
- Save the number in variable
*decimalNo*. - Pass the integer to function
*convertToOctal()*to find out the octal representation of the decimal number. *int convertToOctal(int no)*method is used to convert a decimal to octal. It takes one*decimal*number as input and returns the*octal representation*of that number.- Create one variable to save the octal representation and one variable
*multiplier*. - Start one
*while*loop and this loop will run till the number becomes zero*0*. - Find out the octal representation of the number by repeating the same process as shown in the example above.
- return the final octal representation of the number to the caller function.

### Sample Output :

```
Enter a Decimal Number : 100
Octal representation for 100 is 144
Enter a Decimal Number : 200
Octal representation for 200 is 310
Enter a Decimal Number : 300
Octal representation for 300 is 454
```