操作系统实验2-作业调度1.0

 1 #include<stdio.h>
 2 struct jcb
 3 { 
 4     char name[10];           /* 作业名 */  
 5     char status;              /* 作业状态 */  
 6     
 7     int arrtime;                  /* 到达时间 */  
 8     int startime;                 /* 开始运行时间 */  
 9     int reqtime;                  /* 要求服务时间 */ 
10     int finitime;                 /* 完成时间 */ 
11     
12     float TAtime;                 /* 周转时间 */  
13     float TAWtimei;               /* 带权周转时间 */  
14     
15     float prio;               //优先权
16 } jobarr[24],jobfin[24],job[24];    
17 //先到先服务,按到达时间来排序
18 void putOutjob(jcb job[],int n);
19 void OrderByarrtime(int n,jcb job[]);
20 void main()
21 {
22     
23     //    int intarr,intfin,intjob;  /* 到达作业个数,完成作业个数,未到达作业个数 */
24     int n;
25     int systime=0;  
26     printf("作业个数:");
27     scanf("%d",&n);
28     printf("\n");
29     for(int i=0;i<n;i++)
30     {
31         printf("第%d个作业:\n",i+1);
32         printf("输入作业名称:");
33         scanf("%s",job[i].name);
34         printf("到达时间:");
35         scanf("%d",&job[i].arrtime);
36         printf("要求服务时间:");
37         scanf("%d",&job[i].reqtime);
38         printf("\n");
39     }
40     OrderByarrtime(n,job);
41     putOutjob(job,n);
42     printf("现在系统时间:%d",&systime);
43 }
44 void putOutjob(jcb job[],int n)
45 {
46     int i;
47     printf("\n\n-------作业名-------提交时刻--------运行时刻------\n");
48     for(i=0;i<n;i++)
49     {
50         printf("\t%s\t\t%d\t\t%d\n",job[i].name,job[i].arrtime,job[i].reqtime);
51         printf("\n");
52         
53     }
54     printf("\n\n");
55 }
56 
57 void OrderByarrtime(int n,jcb job[])
58 {
59     int i,j;
60     jcb tmp;
61     for(i=0;i<n-1;i++)
62         for(j=i+1;j<n;j++)
63         {
64             tmp=job[i];
65             job[i]=job[j];
66             job[j]=tmp;
67         }
68 }

1.初始化

输入数组元素个数。

输入n个数,排序输出。

存储结构,排序算法。

posted @ 2016-04-01 15:57  08周诗琦  阅读(346)  评论(0编辑  收藏  举报