In the following example, we will check whether the number 19 is an Armstrong number or not.
Example
C Compiler
#include<stdio.h>#include<math.h>int main() {
int num =19;
int copyNum = num;
int digits =0;
int balance =0;
int total =0;
// find number of digits in num variablewhile(copyNum !=0)
{
digits++;
copyNum = copyNum /10;
}
copyNum = num;
// slice the numbers from last digitswhile(copyNum !=0)
{
balance = copyNum %10;
total += pow(balance, digits);
copyNum = copyNum/ 10;
}
// resultif(num == total)
printf("%d is an armstrong number", num);
elseprintf("%d is not an armstrong number", num);
return0;
}
Output
19 is not an armstrong number
Armstrong Numbers between the Given Range
In the following example, we will find all the Armstrong numbers between 1 and 200.
Example
C Compiler
#include<stdio.h>#include<math.h>int main() {
int start =1;
int end =200;
int flag =0;
int copyNum =0;
int total =0;
int digits =0;
int balance =0;
for(start=start; start<=end; start++)
{
// find the number of digits in start variable
copyNum = start;
total =0;
digits =0;
balance =0;
while(copyNum !=0)
{
digits++;
copyNum = copyNum /10;
}
copyNum = start;
// slice the start variable from last digitwhile(copyNum !=0)
{
balance = copyNum %10;
total += pow(balance, digits);
copyNum = copyNum/ 10;
}
// resultif((start == total) && (start !=0))
{
if(flag ==0)
{
printf("Armstrong numbers between %d and %d:\n", start, end);
flag = 1;
}
printf("%d ", start);
}
}
if(flag ==0)
printf("There is no armstrong numbers");
return0;
}
Output
Armstrong numbers between 1 and 200:
1 2 3 4 5 6 7 8 9 153
Check Armstrong Number for any Given Number
In the following example, we will find whether the user entered number is an Armstrong number or not.
Example
C Compiler
#include<stdio.h>#include<math.h>int main() {
int num, copyNum;
int digits =0;
int balance =0;
int total =0;
printf("Enter a (int) number: ");
scanf("%d", &num);
copyNum = num;
// find number of digits in num variablewhile(copyNum !=0)
{
digits++;
copyNum = copyNum /10;
}
copyNum = num;
// slice the numbers from last digitswhile(copyNum !=0)
{
balance = copyNum %10;
total += pow(balance, digits);
copyNum = copyNum/ 10;
}
// resultif(num == total)
printf("%d is an armstrong number", num);
elseprintf("%d is not an armstrong number", num);
return0;
}
Output
Enter a (int) number: 74
74 is not an armstrong number
Reminder
Hi Developers, we almost covered 98% of String functions and Interview Question on C with examples for quick and easy learning.
We are working to cover every Single Concept in C.