Write a C program to input a number from user and count number of digits in the given integer using loop. How to find total digits in a given integer using loop in C programming. Logic to count digits in a given integer without using loop in C program.
Input num: 35419
Number of digits: 5
Required knowledge
Logic to count number of digits in an integer
- Input a number from user. Store it in some variable say num.
- Initialize another variable to store total digits say
digit = 0. - If
num > 0then increment count by 1 i.e.count++. - Divide num by 10 to remove last digit of the given number i.e.
num = num / 10. - Repeat step 3 to 4 till
num > 0ornum != 0.
Program to count total digits in a given integer using loop
/**
* C program to count number of digits in an integer
*/
#include <stdio.h>
int main()
{
long long num;
int count = 0;
/* Input number from user */
printf("Enter any number: ");
scanf("%lld", &num);
/* Run loop till num is greater than 0 */
do
{
/* Increment digit count */
count++;
/* Remove last digit of 'num' */
num /= 10;
} while(num != 0);
printf("Total digits: %d", count);
return 0;
}Logic to count number of digits without using loop
Program to count number of digits without using loop
/**
* C program to count number of digits in an integer without loop
*/
#include <stdio.h>
#include <math.h> /* Used for log10() */
int main()
{
long long num;
int count = 0;
/* Input number from user */
printf("Enter any number: ");
scanf("%lld", &num);
/* Calculate total digits */
count = (num == 0) ? 1 : (log10(num) + 1);
printf("Total digits: %d", count);
return 0;
}
Comments
Post a Comment