Q:

I can not determine if it is a prime number

The below program correctly outputs the divisors of the input numbers, but it does not correctly report whether the inputs are prime. For example, when the input is 13, it does not print "The number you entered is a prime number."  What's wrong with it?
#include <stdio.h>
#include <stdbool.h>

int main(void)
{
   int num;
   bool isPrime = true;

   printf("Enter a number: ");
   while (scanf("%d", &num) == 1)
   {
      for (int i = 2; i * i <= num; ++i)  
      {
         if (num % i == 0)
         {
            if (i * i != num)
            {
               printf("%d ve %d, divides %d\n", i, num / i, num);
            }
            else
            {
               printf("%d divides %d.\n", i, num);
            }

            isPrime = false;
         }
      }
   }

   if (isPrime)
   {
      printf("The number you entered is a prime number.");
   }

   return 0;
}

A:

You have missed 2 things  ! 

You should have printed inside the while loop ! 
In addition to that you didn't change the status of isPrime=true; !

Hope this answers your question !
 #include <stdio.h>
    #include <stdbool.h>

    int main(void)
    {
    int num;
    bool isPrime = true;
    while (scanf("%d", &num) == 1)
    {
        for (int i = 2; i * i <= num; ++i)
        {
            if (num % i == 0)
            {
                if (i * i != num)
                {
                    printf("%d ve %d, divides %d\n", i, num / i, num);
                }
                else
                {
                    printf("%d divides %d.\n", i, num);
                }

                isPrime = false;
            }
        }

        if (isPrime)
        {
            printf("The number you entered is a prime number.\n");
        }
        isPrime=true;
    }

    return 0;
    }

