C program to check a number is Armstrong number or not; Through this tutorial, we will learn how to check the number is armstrong number in c program using if else and function.
Algorithm and Programs to check the Number is Armstrong Number or Not in C
Let’s use the following algorithm and program to check if a given number is armstrong number or not in c:
- Algorithm to check for Armstrong number
- C program to check a number is Armstrong number or not
- C Program to check whether a number is Armstrong number or not using function
Algorithm to check for Armstrong number
- Take a number as input from user and store it in an integer variable.
- Find the cubic sum of digits of inputNumber, and store it in sum variable.
- Compare inputNumber and sum.
- If both are equal then input number is Armstrong number otherwise not an Armstrong number.
C program to check a number is Armstrong number or not
/* * C Program to check whether a number is armstrong number or not */ #include <stdio.h> int main(){ int number, sum = 0, lastDigit, temp; printf("Enter a number : "); scanf("%d", &number); temp = number; while(temp != 0){ lastDigit = temp%10; sum = sum + (lastDigit*lastDigit*lastDigit); temp = temp/10; } if(sum == number){ printf("%d is Armstrong Number \n", number); } else { printf("%d is not an Armstrong Number \n", number); } return 0; }
The output of above c program; as follows:
Enter a number : 789 789 is not an Armstrong Number
C Program to check whether a number is Armstrong number or not using function
/* * C Program to check whether a number is armstrong number or not */ #include <stdio.h> int getCubicSumOfDigits(int number); int main(){ int number, sum; printf("Enter a number "); scanf("%d", &number); sum = getCubicSumOfDigits(number); if(sum == number){ printf("%d is Armstrong Number \n", number); } else { printf("%d is not an Armstrong Number \n", number); } return 0; } /* * Funtion to calculate the sum of cubes of digits of a number * getCubicSumOfDigits(123) = 1*1*1 + 2*2*2 + 3*3*3; */ int getCubicSumOfDigits(int number){ int lastDigit, sum = 0; while(number != 0){ lastDigit = number%10; sum = sum + lastDigit*lastDigit*lastDigit; number = number/10; } return sum; }
The output of above c program; as follows:
Enter a number 153 153 is Armstrong Number