In this article, you will learn the concept of** C program to check Armstrong number**.

**Armstrong Number**

A three digits number is said to be an Armstrong number if the sum of the cubes of its individual digit is equal to the number itself.

For example:

371 = 3*3*3 + 7*7*7 + 1*1*1

Please go through following articles of C programming to understand the concept of the program.

## C program to check Armstrong number of three digits

```
#include <stdio.h>
int main()
{
int num, temp, rem, sum = 0;
printf("Enter a three digit number: ");
scanf("%d", &num);
temp = num;
while (num != 0)
{
rem = num % 10;
sum += rem * rem * rem;
num = num / 10;
}
if (temp == sum)
printf("\n%d is an Armstrong number", temp);
else
printf("\n%d is not an Armstrong number", temp);
return 0;
}
```

Output

## C program to check Armstrong number of any digit

```
#include <stdio.h>
#include <math.h>
int main()
{
int num, temp, rem;
int sum = 0, n = 0;
printf("Enter a number: ");
scanf("%d", &num);
temp = num;
//logic to find the number of digits in a given number
while (temp != 0)
{
temp = temp / 10;
n++;
}
temp = num;
while (temp != 0)
{
rem = temp % 10;
sum = sum + pow(rem, n);
temp = temp / 10;
}
if (num == sum)
printf("\n%d is an Armstrong number.", num);
else
printf("\n%d is not an Armstrong number.", num);
return 0;
}
```

**Output**

**Explanation**

In the second program, at first, we calculated the number of digits of the given number.

We used standard library function `pow`

to calculate the cube of the remainder.