w3resource

C Exercises: Check if a number is Harshad Number or not

C Numbers: Exercise-17 with Solution

Write a program in C to check if a number is a Harshad Number or not.

Test Data
Input a number: 9

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;
    int tmp;
    // Calculate the sum of digits of the number
    for (tmp = n; tmp > 0; tmp /= 10)
        s += tmp % 10;
    return (n % s == 0); // Return true if the number is divisible by its sum of digits
}

// Main function
int main()
{
    int hdno;
    printf("\n\n Check whether a number is a Harshad Number or not: \n");
    printf(" ---------------------------------------------------\n");
    printf(" Input a number: ");
    scanf("%d", &hdno); // Input a number

    if (chkHarshad(hdno)) // Check if the input number is a Harshad Number
        printf(" The given number is a Harshad Number.\n");
    else
        printf(" The given number is not a Harshad Number.\n");

    return 0;
}

Sample Output:

 Input a number: 9                                                                                            
 The given number is a Harshad Number.

Visual Presentation:

C programming: Check if a number is Harshad Number or not.

Flowchart:

Flowchart: Check if a number is Harshad Number or not

C Programming Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a program in C to find Disarium numbers between 1 to 1000.
Next: Write a program in C to find Harshad Number between 1 to 100.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/c-programming-exercises/numbers/c-numbers-exercise-17.php