# C Program to Find First Digit of a Number

In this post, we will learn how to find the first digit of a number using the C Programming language.

This program asks the user to enter a number, then it finds the first digit of the entered number using the following approaches:

1. Using While Loop
2. Using User-defined Functions
3. Using Log10() and pow()

So, without further ado, let’s begin this tutorial.

Contents

## C Program to Find First Digit of a Number

```// C Program to Find First Digit of a Number
#include <stdio.h>
int main(){
int num, firstdigit;

printf("Enter a number: ");
scanf("%d", &num);

firstdigit = num;

while (firstdigit >= 10){
firstdigit = firstdigit / 10;
}

// Displaying output
printf("First digit of the entered number is: %d", firstdigit);
return 0;
}
```

Output

``````Enter a number: 512
The first digit of the entered number is: 5
``````

## How Does This Program Work?

```    int num, firstdigit;
```

In this program, we have declared two int data type variables named num and firstdigit.

```    // Asking for input
printf("Enter a number: ");
scanf("%d", &num);
```

Then, the user is asked to enter a number. This number gets stored in the num named variable. scanf() function is used to take input from the user.

```   firstdigit = num;
```

We assign the value of num to firstdigit.

```    while (firstdigit >= 10){
firstdigit = firstdigit / 10;
}
```

Then, we used a while loop to find the first digit of a number.

Suppose, the user enters a number 512. Then,

• First Iteration: while (512 >= 10)
• firstdigit = firstdigit / 10 = 512 / 10 =51
• Second Iteration: while (51 >= 10)
• firstdigit = firstdigit / 10 = 51 / 10 = 5
• Third Iteration: while (5 >= 10)
• Here, the condition is false. Therefore, the while loop terminates and gives us the first digit of the number. The first digit of the entered number gets stored in the firstdigit named variable.
```    // Displaying output
printf("First digit of the entered number is: %d", firstdigit);
```

Finally, the first digit of the entered number is displayed on the screen using printf() function.

## C Program to Find First Digit of a Number Using Function

```// C Program to Find the First Digit of a Number Using Function
#include <stdio.h>

int compute_first(int n){
while (n >= 10){
n = n / 10;
}
return n;
}

int main(){
int num, firstdigit;

printf("Enter a number: ");
scanf("%d", &num);

// Calling out user-defined function
firstdigit = compute_first(num);

// Displaying output
printf("The First digit of the entered number is: %d", firstdigit);
return 0;
}
```

Output

``````Enter a number: 768
The first digit of the entered number is: 7
``````

## C Program to Find First Digit of a Number Using log10() and pow()

```// C Program to Find First Digit of a Number Using log10() and pow()
#include <stdio.h>
#include <math.h>

int main(){
int num, count, firstdigit;

printf("Enter a positive number: ");
scanf("%d", &num);

count = log10(num);

firstdigit = num / pow(10, count);

// Displaying output
printf("The First digit of the entered number is: %d", firstdigit);
return 0;
}
```

Output

``````Enter a positive number: 1245
The first digit of the entered number is: 1
``````

## Conclusion

I hope after going through this post, you understand how to find the first digit of a number using the C Programming language.

If you have any doubt regarding the program, then contact us in the comment section. We will be delighted to solve your query.