Tutorial Gateway

  • C
  • C#
  • Java
  • Python
  • SQL
  • MySQL
  • Js
  • BI Tools
    • Informatica
    • Talend
    • Tableau
    • Power BI
    • SSIS
    • SSRS
    • SSAS
    • MDX
    • R Tutorial
    • Alteryx
    • QlikView
  • More
    • C Programs
    • C++ Programs
    • Go Programs
    • Python Programs
    • Java Programs

C Program to Count Number of Digits in a Number

by suresh

How to write a C Program to Count Number of Digits in a Number using For Loop, While Loop, Functions, and Recursion

C Program to Count Number of Digits in a Number using While Loop

This C program to count digits in a number allows the user to enter any positive integer. And then, it will divide the given number into individual digits and count those individual digits using While Loop.

/* C Program to Count Number of Digits in a Number using While Loop */
#include <stdio.h>

int main()
{
  int Number, Reminder, Count=0;

  printf("\n Please Enter any number\n");
  scanf("%d", &Number);

  while(Number > 0)
  {
     Number = Number / 10;
     Count = Count + 1;  
  }

  printf("\n Number of Digits in a Given Number = %d", Count);
  return 0;
}
C Program to Count Number of Digits in a Number using While Loop

This program to count number of digits in c allows the user to enter any positive integer, and then, that number assigned to the Number variable.

Next, Condition in the While Loop will make sure that the given number is greater than 0 (Means Positive integer and greater than 0)

User Entered value in this C program: Number = 9875 and Count = 0

First Iteration
Number = Number / 10 = 9875 / 10
Number = 987

Count = Count + 1 = 0 + 1
Count = 1

Second Iteration

From the first Iteration, the values of both Number and Count has changed as Number = 987 and Count = 1

Number = Number / 10 = 987 / 10
Number = 98

Count = Count + 1 = 1 + 1
Count = 2

Third Iteration
From the second Iteration, the values of both Number and Count has been changed as Number = 98 and Count = 2

Number = Number / 10 = 98 / 10
Number = 9

Count = Count + 1 = 2 + 1
Count = 3

Fourth Iteration
From the third Iteration of count digits in a number program, the values Number = 9 and Count = 3

Number = Number / 10 = 9 / 10
Number = 0

Count = Count + 1 = 3 + 1
Count = 4

Here Number = 0 so, the condition present in the while loop will fail

The last C Programming printf statement will print the number of digits present in the given number using the Count variable as the output. So, the output of the given variable 9875 is 4

C Program to Count Number of Digits in a Number using For Loop

This program to count the number of digits allows the user to enter any positive integer. Next, it divides the given number into individual digits, and counts those individual digits using For Loop.

/* C Program to Count Number of Digits in a Number using For Loop */ 

#include <stdio.h>

int main()
{
  int Number, Reminder, Count;

  printf("\n Please Enter any number\n");
  scanf("%d", &Number);

  for (Count=0; Number > 0;Number=Number/10)
  {
     Count=Count + 1;  
  }

  printf("\n Number of Digits in a Given Number = %d", Count);

  return 0;
}

We just replaced the While loop in the above count number of digits in a number example with the For loop. If you don’t understand the for loop program, then please refer For Loop article here: For Loop

C Program to Count Number of Digits in a Number using For Loop

C Program to Count Number of Digits in a Number Using Functions

This program to count the number of digits allows the user to enter any positive integer. Then it divides the given number into individual digits and counting those individual digits using Functions.

/* C Program to Count Number of Digits in a Number Using Functions */

#include <stdio.h>

int Count_Of_Digits (int); 

int main()
{
  int Number, Count = 0;

  printf("\n Please Enter any number\n");
  scanf("%d", &Number);

  Count = Count_Of_Digits (Number);

  printf("\n Number of Digits in a Given Number = %d", Count);
  return 0;
}

int Count_Of_Digits (int Number)
{
  int Count;

  while(Number > 0)
  {
     Number = Number / 10;
     Count = Count + 1;  
  }

 return Count;
}

C Program to Count Number of Digits in a Number Using Functions

Within this count number of digits program, When the compiler reaches to Count_Of_Digits (Number) line in the main() program then the compiler will immediately jump to below function:

int Count_Of_Digits (int Number)

We already explained the LOGIC above example. Please refer Program to Count Number of Digits of a Given Number using the While Loop Analysis section.

The last line ends with a return Count Statement.

NOTE: If we create a function with Void, then there is no need to return any value. But, if we declared a function with any data type (int, float. etc.), then we have to return something out from the function.

C Program to Count Number of Digits in a Number Using Recursion

This program to count the number of digits divides the given number and count those individual digits using Recursion.

/* C Program to Count Number of Digits in a Number Using Recursions */

#include <stdio.h>

int Count_Of_Digits (int); 

int main()
{
  int Number, Count = 0;

  printf("\n Please Enter any number\n");
  scanf("%d", &Number);

  Count = Count_Of_Digits (Number);

  printf("\n Number of Digits in a Given Number = %d", Count);
  return 0;
}

int Count_Of_Digits (int Number)
{
  static int Count =0;

  if(Number > 0)
  {
     Count = Count + 1;  
     Count_Of_Digits (Number / 10);
  }

 return Count;
}

C Program to Count Number of Digits in a Number Using Recursion

Within this program to count the number of digits, In the Count_Of_Digits (int Number) function definition,

A static variable will initialize the value only when the function called the first time.

Count_Of_Digits (Number / 10) statement will help to call the function Recursively with the updated value. If you miss this statement, after completing the first line, it will terminate.

For example, Number = 1234, then the output will be 4

Placed Under: C Programs

  • C Hello World
  • C Add Two numbers
  • C Armstrong Number Program
  • C Convert Celsius to Fahrenheit
  • C Convert Decimal to Binary
  • C Convert Decimal to Octal
  • C Convert CM to Meter and KM
  • C Convert KM to M, CM & MM
  • C Convert Fahrenheit to Celsius
  • C Compound Interest Program
  • C Count Digits in a Number
  • C Count Notes in an Amount
  • C Cube of a Number
  • C Electricity Bill Program
  • C Factors of a Number Program
  • C Factorial of a Number Program
  • C GCD of Two Numbers
  • C Generic Root of a Number
  • C Gross Salary of an Employee
  • C Largest of Two Numbers
  • C Largest of Three numbers
  • C Last Digit Of a Number
  • C LCM of Two Numbers
  • C Leap Year program
  • C Multiplication Table program
  • C Natural Numbers from 1 to N
  • C Natural Numbers in reverse
  • C NCR Factorial of a Number
  • C Number is Divisible by 5 and 11
  • C Palindrome Program
  • C Palindrome String program
  • C Perfect Number Program
  • C Profit or Loss Program
  • C Print 1 to 100
  • C Print Prime Numbers 1 to 100
  • C Prime Number program
  • C Prime Factors of a Number
  • C Prime, Armstrong or Perfect
  • C Positive or Negative program
  • C Print Odd Numbers 1 to N
  • C Print Even Numbers 1 to N
  • C Print Integer, Char & Float
  • C Power of a Number program
  • C Product of Digits in a Number
  • C Roots of a Quadratic Equation
  • C Reverse a Number
  • C Simple Calculator Program
  • C Simple Interest
  • C Square of a Number
  • C Square Root of a Number
  • C Standard Deviation program
  • C Strong Number Program
  • C Student Grade program
  • C Sum of Odd Numbers program
  • C Sum of Even Nums program
  • C Sum of Even and Odd Nums
  • C Swap First & Last digit of Num
  • C Sum of First & Last digit Num
  • C Sum of Digits of a Number
  • C Sum of N Numbers Program
  • C Sum and Average of n Number
  • C Swap 2 Numbers
  • C Total, Avg & % of Five Subjects
  • C Quick Sort
  • C Selection Sort
  • C Insertion Sort
  • C Bubble Sort
  • C Fibonacci Series Program
  • C Nth Fibonacci number
  • C Sum of AP Series
  • C Sum of GP Series
  • C Sum of series 1³+2³+3³+….+n³
  • C Sum of series 1²+2²+3²+….+n²
  • C ASCII value of String chars
  • C Print Characters in a String
  • C Compare Two Strings
  • C Concatenate Two Strings
  • C Copy String
  • C String length program
  • C Convert String to Lowercase
  • C First Occurrence of string char
  • C First Occur of String Word
  • C Count Occur of string Char
  • C Count Alphabets, Digits & Special Chars
  • C Count Vowels & Consonants
  • C string remove all Occ of char
  • C remove 1st Occ of char in string
  • C remove last Occ char in string
  • C replace All Occ of char in string
  • C Replace last Occ of String Char
  • C Replace 1st occ char in string
  • C Reverse words Order in string
  • C Reverse a String
  • C Toggle Case of all char in string
  • C Array Arithmetic Operations
  • C Matrix Arithmetic Operations
  • C Count Frequency of array item
  • C Count Duplicate Array items
  • C Count +ve & -Ve Array items
  • C Count Even & Odd Array items
  • C Copy an Array to another
  • C Delete Duplicate Array items
  • C Delete an Element in an Array
  • C insert an Element in an Array
  • C 2nd largest Number in an Array
  • C Find Largest Array Number
  • C Find Smallest Array Number
  • C Largest & Smallest Array item
  • C Merge Two Arrays
  • C Print Unique Array Elements
  • C Print Arrayy Elements
  • C Print Negative Array Numbers
  • C Print Positive Array Numbers
  • C Put +ve & -Ve in 2 Arrays
  • C Put Even & Odd in 2 Arrays
  • C Program to Reverse an Array
  • C Search an Element in an Array
  • C Sum of array even, odd nums
  • C Sort Array in Ascending Order
  • C Sort Array in Descending
  • C Swap 2 Arrays without Temp
  • C Sum of all Array Elements
  • C Sum of each Matrix column
  • C sum of each row in a Matrix
  • C Sum of Matrix row & column
  • C Add Two Matrices
  • C Sparse Matrix
  • C Symmetric Matrix
  • C Identity Matrix
  • C Interchange Matrix Diagonals
  • C Check two Matrices Equal
  • C Lower Triangle of a Matrix
  • C Upper Triangle of a Matrix
  • C Sum of Lower Triangle Matrix
  • C Sum of Upper Triangle Matrix
  • C Subtract Two Matrices
  • C Transpose of a Matrix program
  • C Cuboid Volume & Surface Area
  • C Cone Volume & Surface Area
  • C Cube Volume & Surface Area
  • C Volume & Surface of Cylinder
  • C Volume & Surface of Sphere

Copyright © 2021 · All Rights Reserved by Suresh

About Us | Contact Us | Privacy Policy