操作系统之实验二Step1-有序顺序表
实验二Step1-有序顺序表
专业:商业软件工程 班级:商软2班 姓名:甘佳萍 学号:201406114207
实验要求:初始化
输入数组元素个数。
输入n个数,排序输出。
存储结构,排序算法。
存储结构采取以下图片所示:
初始化作业后,格式化显示输出,参考下图:
源程序:
#include<stdio.h> struct jcb { char name[10]; /* 作业名 */ char status; /* 作业状态 */ int arrtime; /* 到达时间 */ int startime; /* 开始运行时间 */ int reqtime; /* 要求服务时间 */ int finitime; /* 完成时间 */ float TAtime,TAWtimei; /* 周转时间 */ /* 带权周转时间 */ float prio; //优先权 } jobarr[24],jobfin[24],job[24];//先到先服务,按到达时间来排序 void putOutjob(jcb job[],int n); void OrderByarrtime(int n,jcb job[]); void main() { int n; int systime=0; printf("作业个数:"); scanf("%d",&n); printf("\n"); for(int i=0;i<n;i++) { printf("第%d个作业:\n",i+1); printf("输入作业名:"); scanf("%s",job[i].name); printf("到达时间:"); scanf("%d",&job[i].arrtime); printf("要求服务时间:"); scanf("%d",&job[i].reqtime); printf("\n"); } OrderByarrtime(n,job); putOutjob(job,n); printf(" 现在系统时间 0:\n"); } void putOutjob(jcb job[],int n) { int i; printf("经按到达时间排序后,未达到队列是\n nane artime rqtime\n"); for(i=0;i<n;i++) { printf("N %d\t%s\t\t%d\t\t%d\n",i+1,job[i].name,job[i].arrtime,job[i].reqtime); printf("\n"); } printf("\n\n"); } void OrderByarrtime(int n,jcb job[]) { int i,j; jcb tmp; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) { tmp=job[i]; job[i]=job[j]; job[j]=tmp; } }
运行结果:
posted on 2016-04-01 17:34 ganxiaoxiao 阅读(315) 评论(0) 编辑 收藏 举报