Write a C program to enter a number from user and find first and last digit of number using loop. How to find first and last digit of a number in C programming. Logic to find first and last digit of a given number without using loop in C program.

**Example**

**Input**

Input number: 1234

**Output**

First digit: 1 Last digit: 4

## Required knowledge

## Logic to find last digit of a number

Finding the last digit of any number is the simplest task then finding the first digit. For this we just need to perform modulus % operation. Last digit of any number is the result obtained by the modular division of given number by `10`

.

Suppose if `n = 1234`

Last `digit = n % 10 = 4`

Let us implement the above logic to find last digit.

## Program to find last digit

```
/**
* C program to find last digit of a number
*/
#include <stdio.h>
int main()
{
int n, lastDigit;
/* Input number from user */
printf("Enter any number: ");
scanf("%d", &n);
/* Get the last digit */
lastDigit = n % 10;
printf("Last digit = %d", lastDigit);
return 0;
}
```

## Logic to find first digit of number

Finding first digit of any number is little expensive than finding last digit. What you need to do is, divide the number by `10`

till it is greater or equal to `10`

. At the end we are left with the first digit.

Below is the step by step description to find first digit.

- Input a number from user. Store it in some variable say num.
- Copy the value of num to some variable i.e. first = num.
- Divide first by
`10`

, till first >= 10. - Finally you will be left with first digit in first variable.

## Program to find first digit

```
/**
* C program to find first digit of a number
*/
#include <stdio.h>
int main()
{
int n, first;
/* Input number from user */
printf("Enter any number: ");
scanf("%d", &n);
first = n;
/* Remove last digit from number till only one digit is left */
while(first >= 10)
{
first = first / 10;
}
printf("First digit = %d", first);
return 0;
}
```

You can also use the below approach to find the first and last digit of any number efficiently. However, before you move on to the program, you must know.

Must know - Program to count number of digits.

## Logic to find first and last digit without loop

Below is the step by step descriptive logic to find first and last digit without loop.

- Input a number from user. Store it in some variable say num.
- Get last digit using modulo operation by
`10`

. Which is lastDigit = num % 10. - In real first digit is equal to n / (10 ^ digits). Where 10 ^ (digits - 1) is
`10`

power to total number of digits - 1. Hence, get first digit using firstDigit = n / pow(10, digits - 1).

## Program to find first and last digit

```
/**
* C program to find first and last digit of a number
*/
#include <stdio.h>
#include <math.h>
int main()
{
int n, firstDigit, lastDigit, digits;
/* Input a number from user */
printf("Enter any number: ");
scanf("%d", &n);
lastDigit = n % 10; // Get last digit
digits = (int)log10(n); // Total number of digits - 1
firstDigit = (int)(n / pow(10, digits)); // Get first digit
printf("First digit = %d\n", firstDigit);
printf("Last digit = %d\n", lastDigit);
return 0;
}
```

**Important note: ** log10() is a mathematical function present in math.h header file. It returns log base 10 value of the passed parameter to log10() function.

Output

Enter any number: 1234 First digit = 1 Last digit = 4

Happy coding 😉

### Recommended posts

- Loop programming exercises index.
- C program to find sum of first and last digit of any number.
- C program to swap first and last digit of any number.
- C program to calculate sum of digits of a given number.
- C program to find product of digits of a given number.
- C program to find reverse of any number.
- C program to check whether a number is palindrome or not.

<pre><code> ----Your Source Code---- </code></pre>