Для начинающих функция isprime
недействительна.Он возвращает 1
для не простого числа 1
.:)
И функция должна быть объявлена как минимум как
int isprime( unsigned int num );
Что касается вашего вопроса, то выходной буферне очищается до тех пор, пока символ новой строки не будет найден.
Напишите вместо
if (isprime(n))
printf("Yes\n");
else
printf("No\n");
или
if (isprime(n))
puts("Yes");
else
puts("No");