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;
}