Can somebody help me find the problem with my hash tables program. I have to produce the following output:

% full = 5, % clashes = 5
% full = 10, % clashes = 2
% full = 15, % clashes = 6
% full = 20, % clashes = 7
% full = 25, % clashes = 10
% full = 30, % clashes = 14
% full = 35, % clashes = 17
% full = 40, % clashes = 19
% full = 45, % clashes = 21
% full = 50, % clashes = 27
% full = 55, % clashes = 29
% full = 60, % clashes = 33
% full = 65, % clashes = 34
% full = 70, % clashes = 36
% full = 75, % clashes = 38
% full = 80, % clashes = 42
% full = 85, % clashes = 44
% full = 90, % clashes = 45
% full = 95, % clashes = 48
% full = 100, % clashes = 50

but my program gives the following:

full = 5, clashes = 15
full = 10, clashes = 7
full = 15, clashes = 10
full = 20, clashes = 10
full = 25, clashes = 12
full = 30, clashes = 15
full = 35, clashes = 19
full = 40, clashes = 20
full = 45, clashes = 22
full = 50, clashes = 28
full = 55, clashes = 30
full = 60, clashes = 34
full = 65, clashes = 35
full = 70, clashes = 37
full = 75, clashes = 39
full = 80, clashes = 42
full = 85, clashes = 44
full = 90, clashes = 45
full = 95, clashes = 48
full = 100, clashes = 51

Can somebody help me spot the problem with my code?Please

Code:
#include <stdio.h>
#include <stdlib.h>

/* Small program to explore using hash tables.

   1. The hash table takes up to 400 items
   2. The program generates 400 six digit numbers.
   3. It uses a hashing routine to place them in the hash table
   4. The program prints a report on the percantage of clashes that 
      occur for every 20 numbers placed in the table
 */

#define EMPTY -1

int main()
{
   int count, hash, number;
   int clashes, hashTable[400];

   /* initialise the random number generator */
   srand(1);

   /* initialise hash table */
   for (count=0; count<400; count++) hashTable[count] = EMPTY;

   /* generate 400 six digit numbers and put in hash table */
   for (count=0; count<400; count++)
   {
      number = rand() % 1000000;     /* create 6 digit number */
      hash = number % 400;           /* get a hash value of number */

      /* determine if we have a clash */
      if (hashTable[hash] != EMPTY)  
      {
         clashes++;

         /* Find next empty slot in hashTable */
         while (hashTable[hash] != EMPTY)
         {
            hash = (hash + 1) % 400;
         }
      }
      hashTable[hash] = number;

      if ((count+1) % 20 == 0)
      {
         printf(" full  = %d,  clashes = %d\n", 
                 (count+1)*100/400, (clashes)*100/count);
      }
   }

   return 0;
}