#include #include #include static unsigned int digitSum(int* n) { unsigned int num = abs(*n); unsigned int sum = 0; while (num != 0) { sum = sum + num % 10; num = num/10; } return sum; } static unsigned int digits (int* n) { unsigned int num = abs(*n); unsigned int x, i; for (x=10, i=1; ; x*=10, i++) { if (num < x) return i; if (x > INT_MAX/10) return i+1; } } int main() { int inputNum; printf("Type a number: \n"); scanf("%d", &inputNum); printf("Number of digits: %d\nDigit sum: %d\n\n", digits(&inputNum), digitSum(&inputNum)); return 0; }