setlocale(LC_CTYPE, "Russian");
cout << "Вычитание\nВведите первое число: ";
int a;
cin >> a;
cout << "Введите второе число: ";
int b;
cin >> b;
int c = a - b;
cout << "Результат: " << c << '\n';
Ты обьявил переменные A и B, но не инициилизировал, в них по факту "мусор".
Потом ты совершил операцию вычитания и засунул это все в переменную C.
Но далее в коде ты нигде не менял значение переменной C, в ней как оставался мусор, так и остается
Смотри, твоя проблема была в том, что ты вначале обьявил переменные a и b, но не заполнил их значениями.
Когда ты объявил переменную c ты попытался вычесть a и b, а там непонятно что (какой-то мусор) и вот, когда ты выводишь c ты получаешь результат вычитания одного из мусора из другого. Чтобы все работало надо вначале заполнить значениями a и b и только потом вычитать