Untitled
unknown
plain_text
5 years ago
1.1 kB
6
Indexable
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
float num_input;
char waste;
int flag, flag_positive;
int number, int_num;
printf("Please enter an integer: ");
while((flag = scanf("%f", &num_input)) != 1 || num_input - (int)num_input != 0){
// The user has either entered a non-integer input or a non-digit
if(flag == 0){
scanf("%s", &waste);
/* for non-number input, scanf of number fails to load the input, an extra scanf of
string is needed to remove the previous input */
///Take note of the datatype
}
printf("You have entered an invalid input. Please try again: ");
}
int_num = (int)num_input;
number = abs(int_num);
int temp, sum = 0, digits = 0;
while(number > 0){
temp = number%10;
sum += temp;
digits++;
}
printf("The number entered is %d, it has %d digits. The sum of all digits is %d.", int_num, digits, sum);
return 0;
}Editor is loading...