Проблема не в том, что ваша программа работает некорректно.
Проблема в том, что требования являются бессмысленными.Вы можете иметь разницу между двумя числами.Разница между 19 и 8 равна 11. Разницы между 3 и более числами не существует.Поэтому ни одна программа никогда не сможет произвести это.
Тем не менее, Дэвис Херринг прав в комментарии: нет оператора =-
.Вы пытались использовать один в строке:
difference =- toBeSubtracted;
Но строка понимается как просто:
difference = -toBeSubtracted;
Таким образом, ваша программа просто выводит отрицание последнего введенного числа.Я попытался ввести три числа, 11, 3 и 5. В первый раз через разность петель установлено значение -11.В следующий раз это значение перезаписывается и вместо него устанавливается -3.На последней итерации разница устанавливается в -5, что «выигрывает» и выводится.
Вместо этого я предлагаю, чтобы ваша программа всегда вычитала 2 числа, как вы пытаетесь в своем примере.Таким образом, пользователю не нужно вводить количество цифр, а просто ввести два числа.Тогда вам также не нужна петля.Просто прочитайте первое число, прочитайте второе число, вычтите второе из первого (или первое из второго, или меньшее из большего, что вы хотите) и напечатайте результат.Я оставляю вам код, чтобы не испортить его.