It skips the date because you forget a '\n' (newline) character when you read the five char for the visitor. For example this works, because in the variable clean there is the '\n' character read:
Code:
#include<stdio.h>
int main(void)
{
int month, day, clean;
char h1, h2, h3, h4, h5;
char v1, v2, v3, v4, v5;
printf("\nEnter home team: ");
scanf("%c%c", &h1, &h2);
scanf("%c", &clean);
printf("Enter visitor: ");
scanf("%c%c%c%c%c", &v1, &v2, &v3, &v4, &v5);
scanf("%c", &clean);
printf("Enter game date (mm/dd): ");
scanf("%d/%d", &month, &day);
printf("\nHome\t \tVisitor\t \tDate");
printf("\n----\t \t-------\t \t----");
printf("\n%c%c \t vs\t%c%c%c%c%c\t on\t%d/%d/2008\n\n", h1, h2, v1, v2, v3, v4, v5, month, day);
return(0);
}
EDIT: To be more clear.
Whatever you press on the keyboard is stored in a buffer INCLUDING the <enter>, which is the \n character. So when you type UF there is actually three characters. U, F and \n. You have to read also the \n. If you don't, the next scanf will do that. So in v1 the \n is stored. You get my point.
That is why the way you use scanf is flawed. It is a common mistake though. So try again keeping in mind that a \n character is entered when you press <enter>.
Without using arrays, your program is fine. Except that it doesn't handle wrong input, but I don't think you want to get into that. Just keep in mind that if a team for example has more than 5 letters there will be an error again.