1 #include<stdio.h>
2
3 struct job
4 {
5 char name[10];//作业名称
6 char status;//当前状态
7 int arrtime;//到达时间
8 int reqtime;//要求服务时间
9 int startime;//调度时间
10 int finitme;//完成时间
11 float TAtime,TAWtime;//周转时间,带权周转时间
12 float prio;
13 }jobarr[24],jobfin[24],job[24];//到达作业数组,完成作业数组,未到达作业数组
14 int systime=0;
15 int intarr,intfin,intjob; //到达作业个数,完成作业个数,未到达作业个数
16
17 main()
18 {
19 int num;
20 int i,j;
21 printf("\n请输入作业个数:");
22 scanf("%d",&num);
23 printf("\n");
24 for(i=0;i<num;i++)
25 {
26 printf("第%d个作业:\n",i+1);
27 printf("输入作业名称:");
28 scanf("%s",job[i].name);
29 printf("到达时间:");
30 scanf("%d",&job[i].arrtime);
31 printf("要求服务时间:");
32 scanf("%d",&job[i].reqtime);
33 printf("\n");
34 }
35 for(j=0;j<num;j++)
36 {
37 for(i=0;i<num-j;i++)
38 {
39 if(job[i].arrtime<job[i+1].arrtime)
40 {
41 job[num]=job[i];
42 job[i]=job[i+1];
43 job[i+1]=job[num];
44 }
45 }
46 }
47
48 printf("经按到达时间排序后,未到达队列的是\n");
49 printf("\t作业名称\t到达时间\t要求服务时间\n");
50 for(i=0;i<num;i++)
51 {
52 printf("N%d\t%s\t\t%d\t\t%d\n",i+1,job[i].name,job[i].arrtime,job[i].reqtime);
53 }
54 printf("\n");
55 printf("\t\t\t\t现在系统时间 0:\n");
56 }
![](https://images2015.cnblogs.com/blog/808539/201604/808539-20160402022127004-172306397.jpg)