Вы работаете с числами с плавающей запятой, которым присуща неточность. remainder
возвращает значение с плавающей запятой, и проверка значения точно на 0 с помощью ==
не всегда работает.
Вам нужно использовать допуск и посмотреть, находится ли остаток в границах допуска как:
#include <iostream>
#include <cmath>
int main()
{
for (double t = 0.0; t <= 100.0; t += 0.1)
{
if (std::abs(std::remainder(t, 10.0)) <= 0.001)
{
std::cout << t << "\n";
}
}
}
Примечание: дальнейшее чтение .