The Program in C to check whether a 3-digit number is a magic number or not is given below:
#include <stdio.h>
int main() {
int num, originalNum, lastDigit, sum;
printf("Enter a 3-digit number: ");
scanf("%d", &num);
originalNum = num;
lastDigit = num % 10;
num /= 10; // remove the last digit
sum = lastDigit + num % 10 + num / 10;
if (sum == originalNum) {
printf("%d is a magic number.\n", originalNum);
} else {
printf("%d is not a magic number.\n", originalNum);
}
return 0;
}
Output:
Enter a 3-digit number: 323
323 is not a magic number.
Pro-Tips💡
It first stores the original number entered by the user, then it separates the digits of the number by using the modulus and division operators.
Then it adds all the digits and compares the sum to the original number, and prints whether the number is a magic number or not based on the comparison.
The program is more optimized as it is performing the sum of digits in a single statement and also removed unnecessary variables.
Learn C-Sharp ↗
C-sharp covers every topic to learn about C-Sharp thoroughly.
Learn C Programming ↗
C-Programming covers every topic to learn about C-Sharp thoroughly.
Learn C++ Programming↗
C++ covers every topic to learn about C-Sharp thoroughly.