#include <iostream>
#include <stdlib.h>
#include <string.h>
#define MAXSIZE 100
using namespace std;
typedef struct {
char name[20];
int start;
int end;
}Course;
Course c[5] = {
{"高数 ",800,930},
{"电子商务 ",830,1000},
{"数据结构 ",930,1200},
{"计算机基础",1000,1100},
{"C语言 ",1130,1230}
};
void sort(Course c[])
{
Course w;
for (int i = 0; i < 5; i++)
{
for (int j = i + 1; j < 5; j++)
{
if (c[i].end > c[j].end)
{
w = c[j];
c[j] = c[i];
c[i] = w;
}
}
}
}
void PrintArr(Course c[])
{
cout << "课程名称\t" << "开始时间\t" << "结束时间\t" << endl;
for (int i = 0; i < 5; i++)
{
cout << c[i].name << "\t" << c[i].start / 100 << ":" << c[i].start % 100 << "\t\t" << c[i].end / 100 << ":" << c[i].end % 100 << endl;
}
}
void PrintArr1(Course c[], int n)
{
cout << "***可安排的课程如下:***" << endl;
cout << "课程名称\t" << "开始时间\t" << "结束时间\t" << endl;
for (int i = 0; i < n; i++)
{
cout << c[i].name << "\t" << c[i].start / 100 << ":" << c[i].start % 100 << "\t\t" << c[i].end / 100 << ":" << c[i].end % 100 << endl;
}
}
void CourseArr(Course c[])
{
Course temp = c[0];
Course exc;
int j = 1;
for (int i = 1; i < 5; i++)
{
if (c[i].start > temp.end)
{
c[j] = c[i];
temp = c[i];
j++;
}
}
PrintArr1(c, j);
}
int main()
{
PrintArr(c);
sort(c);
PrintArr(c);
CourseArr(c);
}