Это сбой при вводе -3, -2, -1,0, потому что если (целое число> 0) всегда ложно, то poscounter не будет увеличиваться в любое время, поэтому poscounter будет нулевым после цикла while.
printf («Положительное среднее: =% d», pos / poscounter);вызовет сбой программы из-за операции, решенной нулем.
Лучше иметь проверку if для знаменателя и убедиться, что она не является нулем, прежде чем использовать в операции деления:
if (0 != poscounter)
printf("Positive average: = %d", pos / poscounter);
это обеспечит выполнение printf только в допустимых случаях, когда poscounter имеет ненулевое значение.