Find Armstrong numbers in a range (for loop) Dry Run in C

Find Armstrong numbers in a range (for loop) is an interactive C dry run visualizer from the Nested programs section. Study the source code, then use the execution controls to follow each step, variable update, highlighted line, and console output.

This page provides a browser-based dry run with source-code highlighting, auto-scroll, voice narration controls, and execution output for learning the program step by step.

Find Armstrong numbers in a range (for loop) Program Code

#include <stdio.h>
#include <math.h>

int main() {
    int start, end, num, i;
    printf("Enter range (start end): ");
    scanf("%d %d", &start, &end);
    
    printf("Armstrong numbers between %d and %d:\n", start, end);
    int found = 0;
    
    for(num = start; num <= end; num++) {
        int original = num, sum = 0, digits = 0, temp = num;
        
        // STEP A: Count number of digits
        while(temp != 0) {
            digits++;
            temp /= 10;
        }
        
        // STEP B: Calculate sum of digits^digits
        temp = num;
        while(temp != 0) {
            int remainder = temp % 10;
            int power = 1;
            for(i = 1; i <= digits; i++) {
                power *= remainder;
            }
            sum += power;
            temp /= 10;
        }
        
        if(sum == original) {
            printf("%d ", original);
            found++;
        }
    }
    
    if(found == 0) printf("None found");
    printf("\nTotal Armstrong numbers: %d\n", found);
    return 0;
}

View the complete Nested programs page.

Program Console Find Armstrong numbers in a range (for loop) Topic: C Vignaankosh.com
Execution Panel
Step 0/0
Console is empty.