Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #define RADIX 3.14159265358979323
- int main(int argc, char * argv[])
- {
- if (argc != 2)
- {
- printf("Usage:\n");
- printf(" pi decnum\n");
- }
- else
- {
- double src;
- int max_deg, min_deg, cur_deg;
- src = 0.0;
- sscanf(argv[1], "%lf", &src);
- max_deg = 1;
- min_deg = -5;
- while (pow(RADIX, (double)max_deg) < src) ++max_deg;
- for (cur_deg = max_deg - 1; cur_deg > min_deg; --cur_deg)
- {
- double d = pow(RADIX, cur_deg);
- char digit = 0;
- while (src > d)
- {
- ++digit;
- src -= d;
- }
- printf("%d", digit);
- if (cur_deg == 0) printf(".");
- }
- }
- printf("\n");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement