You need to either explicitly cast a value to a non-integer form, e.g. double, or use a non-integer in the calculation.
var pc = (p * 100/ (double)c).ToString();
or this (not 100.0 rather than 100):
var pc = (p * 100.0/ c).ToString();
Next you need to round the result:
var pc = Math.Round(p * 100 / (double)c, 1).ToString();
But as Tetsuya states, you could use the P1 format string (which would output something like 5.0% - culture dependent - for p = 5, c = 100):
var pc = (p / (double)c).ToString("P1");