When specifying a format for numbers the # sign means "Show number if its present" whereas a 0 character means "show the caracter always, including if its zero".
So I thin you want something like:
Console.WriteLine(" ###.0# ", avg);
Which will show one decimal place always, and any additional decimal places if they are present.