编辑代码

#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 << "\n将课程结束时间从早到晚排列:\n课程\t\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 << "\n可安排的课程如下:\n有三门可排" << endl;
	cout << "课程\t\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);
}