зачем тебе double если с целыми числами работать собрался?
простейший вариант в цикле от числа до 1 проверять остаток от деления
и выводить если он равен нулю.
for (int i=x;i>0;i--)
if (x % i==0)
cout << i << "\n";
давно не писал на си такчто могу ошибаться в синтаксисе