since you tried so hard, and i ran you around in circles, here's the fix:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
int main(void)
{
const char *article[ 5 ] = {"the", "a", "one", "some", "any" };
const char *noun[ 5 ] = { "boy", "girl", "dog", "town", "car" };
const char *verb[ 5 ] = { "drove", "jumped", "ran", "walked", "skipped" };
const char *preposition [ 5 ] = { "to", "from", "over", "under", "on" };
char sentence[7][35] = {0};
int a=0, b=0, c=0, d=0, e=0, f=0;
int counter=0;
srand(time(NULL));
for (counter=1; counter <= 20; counter++)
{
a = rand() % 5; /*random numbers for each array of words */
b = rand() % 5;
c = rand() % 5;
d = rand() % 5;
e = rand() % 5;
f = rand() % 5;
strcpy(sentence[1], article[a]);
strcpy(sentence[2], noun[b]);
strcpy(sentence[3], verb[c]);
strcpy(sentence[4], preposition[d]);
strcpy(sentence[5], article[e]);
strcpy(sentence[6], noun[f]);
sentence[1][0] = toupper(sentence[1][0]);
printf("%s %s %s %s %s %s.\n", sentence[1],
sentence[2],sentence[3],sentence[4],
sentence[5],sentence[6]);
}
printf("\n");
system("PAUSE");
return 0;
}