[ create a new paste ] login | about

Link: http://codepad.org/iHHVfdo5    [ raw code | output | fork ]

C, pasted on Jun 14:
#include <stdio.h>
#define N 4

void g(int n, int flag, int k, int c) {
  int m;
  if (n < c) {
    printf("%d", n);
  } else {
    m = n % c;
    g(n / c, 1, k, c);
    printf("%0*d", k, m);
  }
  if (flag)
    printf("'");
  else
    printf("\n");
}
void f(int n) {
  int c, i;
  for (i = 0, c = 1; i < N; i++, c *= 10)
    ;
  if (n < 0) {
    putchar('-');
    g(-n, 0, N, c);
  } else
    g(n, 0, N, c);
}

int main() {
  f(0);
  f(1);
  f(12);
  f(123);  
  f(1234);  
  f(12345);  

  f(101);  
  f(1001);  
  f(10001);  
  f(100001);  
  f(1000001);  
  f(10000001);  
  f(100000001);  
  f(1000000001);  

  f(-0);
  f(-1);
  f(-12);
  f(-123);  
  f(-1234);  
  f(-12345);  
  return 0;
}
/* end */


Output:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
0
1
12
123
1234
1'2345
101
1001
1'0001
10'0001
100'0001
1000'0001
1'0000'0001
10'0000'0001
0
-1
-12
-123
-1234
-1'2345


Create a new paste based on this one


Comments: