操作系统实验_磁盘调度算法

#include
#include
#include
int firstItem,inputSize,outputSize,nextItem,nextIndex;
int sstfCount=0,scanCount=0;
static int input[50],output[50];
void SSTF(int a[],int n);
void lengthReduce(int a[],int index,int length);
double ave(int a[],int length);
void init()
{
    int i,j;
    printf("磁盘调度算法\n");
    printf("请输入磁盘请求序列的长度:");
    scanf("%d",&inputSize);
    printf("请输入磁盘请求序列:");
    for(i=0;i0)
    {
        //获得起始位置在有序序列的下标
        for(i=0;ic)
        {
            output[outputSize]=input[nextIndex];
            nextItem=input[nextIndex+1];
        }
        lengthReduce(input,nextIndex,inputSize);
        outputSize++;
        runTime--;
    }
    printf("output为:");
    for(i=0;i=0;j--)
        {
            output[outputSize]=input[j];
            outputSize++;
        }
        //printf("output:%d\n",outputSize);
        for(j=0;j=0;j--)
        {
            output[outputSize]=input[j];
            outputSize++;
        }
        for(j=nextIndex+1;j0;i--)
//    {
//        tem=input[i];
//        input[i]=input[length-i];
//        input[length-i]=tem;
//    }
//}

int menu()
{
    int i;
    char j;
    contin:
    {
        init();
        printf("请选择算法:\n");
        printf("\t1.SSTF");
        printf("\t2.SCAN\n");
        scanf("%d",&i);
        switch(i)
        {
            case 1:SSTF(input,firstItem);break;
            case 2:SCAN();break;
        }
    }
    printf("是否继续?(y/n)");
    getchar();
    scanf("%c",&j);

    if(j=='y')
    {
        system("CLS");
        goto contin;
    }
    else
    {
        printf("欢迎下次使用!");
        return 0;
    }
    getchar();

}
int main()
{
    menu();
    return 0;
}
操作系统实验_磁盘调度算法_第1张图片

你可能感兴趣的:(操作系统实验)