Hey there,
Hopefully this will help you out. It also avoids the illegal division by zero and just returns 0 in that condition.
I put your values in a file called "awkpct"
host # cat awkpct 55 65 48 45 48 68 32 68 44 34 88 65 82 63 52 54 51 68 75 0 0 20 10 77 55 77 60 55 22 60 40 25 75 55 45 90 20 80 33 63 0 64 32 22 75 0 43 56 54 54 12 35 48 87 65 12 77 85 0 15
and ran this command
host # awk 'BEGIN{lasti=1}{for (i=1;i<=NF;i++) {if ( i%2==0 ) {y=$lasti+$i;printf("%.2f %.2f ", $lasti/y*100, $i/y*100)}lasti=i }printf"\n" }' awkpct
which produces these results:45.83 54.17 51.61 48.39 41.38 58.62 32.00 68.00 56.41 43.59 57.52 42.48
56.55 43.45 49.06 50.94 42.86 57.14 100.00 0.00 0.00 100.00 11.49 88.51
41.67 58.33 52.17 47.83 26.83 73.17 61.54 38.46 57.69 42.31 33.33 66.67
20.00 80.00 34.38 65.62 0.00 100.00 59.26 40.74 100.00 0.00 43.43 56.57
50.00 50.00 25.53 74.47 35.56 64.44 84.42 15.58 47.53 52.47 0.00 100.00
Best wishes and hope all goes well for you,
Mike