Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- int* get_digits(int n);
- int get_first_digit(int n);
- int get_num_digits(int n);
- int main(int argc, char *argv[])
- {
- if(argc < 2){
- printf("Please input a number\n");
- return 1;
- }
- int num = atoi(argv[1]);
- if(num < 0){
- printf("Please input a positive number\n");
- return 1;
- }
- int* digits = get_digits(num);
- int num_digits= get_num_digits(num);
- int i;
- for(i = 0; i < num_digits; i++){
- printf("%d\n", digits[i]);
- }
- free(digits);
- return 0;
- }
- int get_num_digits(int n)
- {
- if(n < 10) return 1;
- else return get_num_digits(n/10)+1;
- }
- int* get_digits(int n)
- {
- int i = get_num_digits(n);
- int* digits = malloc(sizeof(int) * i);
- int* cur_dig = digits;
- while(i>0){
- digits[i---1] = n%10;
- n = floor(n/10);
- }
- return digits;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement