You have an array of 168 slots, one for every hour of the week, 24 per day. You can use a 1 dimension array[168], or you can use array[7][24]. I believe the latter is the more intuitive choice, but either works perfectly fine.
In your initialization, you'll set the array contents to all zero's. Then in a for loop from start_hr to < end_hr, you will mark up the array with a 1 value. Remember that if the end_hr is say, 12 - and the start is 9, then you'll mark up only 9, 10, and 11, NOT 12.
Before you start writing code, study the problem, and no, you don't need the code you posted, at all. Use a for loop:
This is a simplified code. You will have to add the day portion to it (depending on what kind of array you use), before it can be of any actual use.
Code:
for(i=start_hr;i<stop_hr;i++) {
if(schedule[i] == 1) {
printf("You have a conflict, buddy!\n");
return 1; // or set a flag to indicate that there was a conflict, then break or return.
//once a conflict is found, there's no reason to keep looping through, checking.
}