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(" "); 29 for(int i=0;i<n;i++) 30 { 31 printf("第%d个作业: ",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(" "); 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(" -------作业名-------提交时刻--------运行时刻------ "); 48 for(i=0;i<n;i++) 49 { 50 printf(" %s %d %d ",job[i].name,job[i].arrtime,job[i].reqtime); 51 printf(" "); 52 53 } 54 printf(" "); 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个数,排序输出。
存储结构,排序算法。