w3resource

C Exercises: Find Harshad Number between 1 to 100

C Numbers: Exercise-18 with Solution

Write a program in C to find the Harshad Number between 1 and 100.

Sample Solution:

C Code:

# include <stdio.h>
# include <stdlib.h>
# include <stdbool.h>

// Function to check if a number is a Harshad number
bool chkHarshad(int n)
{
    int s = 0;  // Variable to store the sum of digits of the number
    int tmp;    // Temporary variable to store the number for manipulation
    for (tmp = n; tmp > 0; tmp /= 10)  // Loop to extract digits from 'n' and sum them
        s += tmp % 10;  // Extracts the last digit of 'tmp' and adds it to 's'
    return (n % s == 0);  // Returns true if 'n' is divisible by the sum of its digits (s)
}

// Main function
int main()
{
    int i;  // Loop variable

    // Printing the header for Harshad numbers between 1 to 100
    printf("\n\n Find Harshad Numbers between 1 to 100: \n");
    printf(" ---------------------------------------------------\n");
    printf(" The Harshad Numbers are: ");

    // Loop through numbers from 1 to 100 and check if they are Harshad numbers
    for (i = 1; i <= 100; i++)
    {
        if (chkHarshad(i))  // Check if 'i' is a Harshad number
            printf("%d ", i);  // Print the Harshad number
    }

    printf("\n");  // Print a new line after displaying all Harshad numbers

    return 0;
}

Sample Output:

 The Harshad Numbers are: 1 2 3 4 5 6 7 8 9 10 12 18 20 21 24 27 30 36 40 42 45 48 50 54 60 63 70 72 80 81 84
 90 100

Visual Presentation:

C programming: Find Harshad Number between 1 to 100.

Flowchart:

Flowchart: Find Harshad Number between 1 to 100

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a program in C to check if a number is Harshad Number or not.
Next: Write a program in C to check whether a number is a Pronic Number or Heteromecic Number or not.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.