неправильно работает логическая операция ИЛИ
У меня возникла проблема с использованием операции ИЛИ в условном операторе if. Задача следующая: "Напишите программу, которая запрашивает целое число и печатает английское порядковое числительное. Общее правило: если число заканчивается на 1, ставят суффикс “st”, если на 2 — “nd”, если на 3 — “rd”, а в остальных случаях — “th”. Исключение составляют числа, которые оканчиваются на 11, 12 и 13. Для них используют суффикс “th”." Тема посвящена условным операторам, поэтому я решил использовать If и else if для решения задачи. Но при попытке ввести исключение в первую if, код сломался и стал выдавать все вводимые числа с суффиксом th.
int x;
string suf;
cin>>x;
int mod10=abs(x%10),mod100=abs(x%100);
if (mod100==11||12||13){
suf="th";
}
else if (mod10==4){
suf="st";
}
cout<<abs(x)<<suf<<endl;