Untitled
unknown
c_cpp
4 years ago
840 B
10
Indexable
#include "math.h"
#include "stdbool.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
bool is_armstrong_number(int number) {
int digitLength, *digits, sumOfDigits=0;
char temp[10];
sprintf(temp, "%i", number);
digitLength = (int)strlen(temp);
printf("You're entered %s.\n", temp);
printf("%i number has %i digits.\n", number, digitLength);
digits = (int*)malloc(digitLength*sizeof(int));
for(int i=0; i<digitLength; i++) {
digits[i] = temp[i]-'0';
sumOfDigits+=pow(digits[i], digitLength);
}
return (sumOfDigits==number) ? true : false;
}
int main() {
bool check;
int number;
printf("Enter a number: ");
scanf("%i", &number);
check = is_armstrong_number(number);
(check==true)
? printf("%i is an armstrong number.\n", number)
: printf("%i isn't an armstrong number.\n", number);
return 0;
}Editor is loading...