diff options
author | b4rkod <void@Asena.localdomain> | 2024-01-17 21:17:07 +0300 |
---|---|---|
committer | b4rkod <void@Asena.localdomain> | 2024-01-17 21:17:07 +0300 |
commit | b03b61b232c1fa0b9ff1ae607232f8ab3f55ea38 (patch) | |
tree | 9169255eae57e59035595768e8dd46cfaba28f50 /int_rev.c | |
parent | 2fa043277b090a37b3f378a2fefccc57b5bd2814 (diff) |
Diffstat (limited to 'int_rev.c')
-rw-r--r-- | int_rev.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/int_rev.c b/int_rev.c new file mode 100644 index 0000000..cac7bd3 --- /dev/null +++ b/int_rev.c @@ -0,0 +1,34 @@ +#include <stdio.h> +#include <stdlib.h> +#include <math.h> + +int ex_ten(int i) { + return pow(10,i); +} + +int _digit_count(int num) { + for ( int i = 1; ; i++) { + if (num < ex_ten(i) ) + return i; + } +} + +int main() { + int num,rev_num = 0; + printf("Please put a num: "); + scanf("%d",&num); + int digit_count = _digit_count(num) ; + + int former = 0; + + for (int i = 1; i <= digit_count ; i++) { + int temp; + + temp = num % ex_ten(i) - former; + former += temp; + temp /= ex_ten(i-1); + rev_num += temp * (ex_ten(digit_count - i)); + } + printf("%d\n",rev_num); + +} |