1 #include <stdio.h>
2
3 int main()
4 {
5 long int a, b, c;
6 printf("Please enter a optional fraction (a/b):");
7 scanf("%ld/%ld", &a, &b);
8 printf("it can be decomposed to:");
9 while (1)
10 {
11 if (b%a)
12 c = b/a + 1;
13 else
14 {
15 c = b/a;
16 a = 1;
17 }
18 if (1==a)
19 {
20 printf("1/%ld\n", c);
21 break;
22 }
2
3 int main()
4 {
5 long int a, b, c;
6 printf("Please enter a optional fraction (a/b):");
7 scanf("%ld/%ld", &a, &b);
8 printf("it can be decomposed to:");
9 while (1)
10 {
11 if (b%a)
12 c = b/a + 1;
13 else
14 {
15 c = b/a;
16 a = 1;
17 }
18 if (1==a)
19 {
20 printf("1/%ld\n", c);
21 break;
22 }
23 else
24 printf("1/%ld +",c);
25 a = a*c - b;
26 b = b*c;
27 if (3==a)
28 {
29 printf("1/%ld + 1/%ld", b/2, b);
30 break;
31 }
32 }
33 return 0;
34 }
[root@localhost 45]# vim optional_fraction.c
[root@localhost 45]# ./a.out
Please enter a optional fraction (a/b):8/89
it can be decomposed to:1/12 +1/153 +1/81702 + 1/163404[