Skip to main content

C program to find first and last digit of any number

 Write a C program to input 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

Basic C programmingArithmetic operatorsWhile loop

Logic to find last digit of a number

Before I explain logic to find first digit, let us first learn to find last digit of a number.

To find last digit of a number in programming we use modulo operator %. A number when modulo divided by 10 returns its last digit.

Suppose if n = 1234

then lastDigit = n % 10 => 4

Let us implement the above logic to find last digit.

Program to find last digit of a number

/**
 * 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 a number

Finding first digit of any number is little expensive than last digit. To find first digit of a number we divide the given number by 10 until number is greater than 10. At the end we are left with the first digit.

Step by step description to find first digit of a number.

  1. Input a number from user. Store it in some variable say num.
  2. Copy the value of num to some temporary variable say first = num.
  3. Divide first by 10, till first >= 10.
  4. Finally you are left with first digit in first variable.

Program to find first digit of a number

/**
 * 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;
}

The above approaches to find first and last digit is easy to implement and learn. However, I use a different approach to find first or last digit.

Logic to find first and last digit of a number

Step by step descriptive logic to find first and last digit of a number without loop.

  1. Input a number from user. Store it in some variable say num.
  2. Find last digit using modulo division by 10 i.e. lastDigit = num % 10.
  3. To find first digit we have simple formula firstDigit = n / pow(10, digits - 1). Where digits is total number of digits in given number.

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);

    /* Find last digit */
    lastDigit = n % 10;     

    /* Total number of digits - 1 */
    digits = (int)log10(n); 

    /* Find first digit */
    firstDigit = (int)(n / pow(10, digits)); 

    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

Comments

Popular posts from this blog

C program to find prime factors of a number

  Write a C program to input a number from user and find Prime factors of the given number using loop. C program to list all prime factors of a given number. Logic to find prime factors of a number in C programming. Example Input Input any number: 10 Output Prime factors of 10: 2, 5 Required knowledge Basic C programming ,  If statement ,  For loop ,  Nested loop What is Prime factor? Factors of a number  that are  prime numbers  are called as Prime factors of that number. For example: 2 and 5 are the prime factors of 10. Logic to check prime factors of a number Step by step descriptive logic to find prime factors. Input a number from user. Store it in some variable say  num . Run a loop from  2  to  num/2 , increment 1 in each iteration. The loop structure should look like  for(i=2; i<=num/2; i++) . You may think why loop from 2 to  num/2 ? Because prime number starts from 2 and any factor of a number  n  is ...

To Find Factorial Of A Number Using C Program

  Program 1: Factorial program in c using for loop #include <stdio.h> int main (){ int i , f = 1 , num ;   printf ( "Enter a number: " ); scanf ( "%d" ,& num );   for ( i = 1 ; i <= num ; i ++) f = f * i ;   printf ( "Factorial of %d is: %d" , num , f ); return 0 ; } Result Enter a number: 8 Factorial of 8 is: 40320 Program 2: Factorial program in c using pointers #include <stdio.h>   void findFactorial ( int , int *); int main (){ int i , factorial , num ;   printf ( "Enter a number: " ); scanf ( "%d" ,& num );   findFactorial ( num ,& factorial ); printf ( "Factorial of %d is: %d" , num ,* factorial );   return 0 ; }   void findFactorial ( int num , int * factorial ){ int i ;   * factorial = 1 ;   for ( i = 1 ; i <= num ; i ++) * factorial =* factorial * i ; } Result Enter a number: 8 Factorial of 8 is: 40320 Program 3: Factorial progra...

Questions of C Program

1. Write a C program to find the area of a circle. 2. Write a C program to find the area of a triangle. 3. Write a C program to swap two numbers without temp variable (or a third variable) 4. Write a C program to print ASCII value of the character 5. Write a C program to read a character in uppercase and then print in lowercase. 6. Write a C program to swap two numbers with temp variable 7. Write a C program to calculate the average of two number 8. Write a C program to calculate the simple interest. 9. Write a C program to find the quotient and remainder of two numbers 10.Write a C program that displays the size of every datatype. 1. Write a c program to add two integers and print the result ,inputs must be taken using scanf function. 2. Write a c program to add two float numbers without third variable and print the result ,inputs must be taken using scanf function. 3. Write a c program, to subtract two integers and print the result, inputs must be taken using scanf function. 4. Write...