Alrighty, here's my final program:

Code:
```#include <stdio.h>
#include <limits.h>

#define LOW 0.10151
#define MID 0.1411
#define HIGH 0.1680
#define TIER1 300
#define TIER2 500
#define MAX 100

int main ()
{
int custid[30];
int start[30];
int stop[30];
int remain[30];

int counter;

int i;

double energy;

int low, mid, high, highest, lowest;

char str[MAX];

double money;
double total;
double amount[30];

highest = INT_MIN;
lowest = INT_MAX;
low = mid = high = 0;
money = energy = 0;

for(i=0;i<MAX;i++)
str[i]='\0';

printf("Enter a date [mm/dd/yyyy]: ");
scanf("%[^\n]s",str);

printf("\nWhen finished, enter 0 to generate report.");

i = -1;

while(custid[i++])
{

printf("\nEnter Customer ID #%d: ", i+1);

scanf("%d", &custid[i]);
if (custid[i] == 0) break;
printf("Enter start read for customer #%d: ", i+1);
scanf("%d", &start[i]);

printf("Enter stop read for customer #%d: ", i+1);
scanf("%d", &stop[i]);
}

counter = i;

for (i = 0; i < counter; i++)
{
remain[i] = stop[i] - start[i];
}

for (i = 0; i < counter; i++)
{
if (remain[i] <= TIER1){
amount[i] = remain[i] * LOW;
}else if (remain[i] <= TIER2){
amount[i] = remain[i] * MID;
}else {
amount[i] = remain[i] * HIGH;
}
}

printf("***************************************************************\n\n");
printf("Sparkie's Electric Utility Co. Billing report for %s\n\n", str);
printf("Customer ID\tAmount Due\n");

for (i = 0; i < counter; i++)
{
printf("%d. %d\t \$%.2f\n", i+1, custid[i], amount[i]);
}

for (i = 0; i < counter; i++)
{
if (remain[i] <= TIER1)
{
++low;
}
else if (remain[i] <= TIER2)
{
++mid;
}
else
{
++high;
}
}

for (i = 0; i < counter; i++)
{
if (highest < remain[i])
highest = remain[i];
if (lowest > remain[i])
lowest = remain[i];
}

for (i = 0; i < counter; i++)
{
energy += remain[i];
}

for (i = 0; i < counter; i++)
{
money += amount[i];
}

printf("Low Tier Users:  %d\t\tLow Tier = 0 to 300\n", low);
printf("Med Tier Users:  %d\t\tMed Tier = 301 to 500\n", mid);
printf("Hgh Tier Users:  %d\t\tHgh Tier = Over 501\n", high);
printf("Average usage:   %.2f KWH\n", energy/(low+mid+high));
printf("Highest usage:   %d KWH\n", highest);
printf("Lowest usage:    %d KWH\n", lowest);
printf("Total billing:   \$%.2f\n\n", money);
printf("***************************************************************\n");

getch();
}```
I had to do away with my functions unfortunately in order to implement the new loop. I know I should be using functions, but for now I felt like this will suffice.

Really appreciate the help from everyone. I've learned more in two days than I have in the past six weeks.

Also, I'm sure my code is full of amateur-ism, so I'd still really appreciate any suggestions on what could be done differently/more efficiently :tntworth: