⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cipandiaodu.c

📁 磁盘调度 SSTF FCFS SCAN CSCAN
💻 C
字号:
#include<stdio.h>
#include"stdlib.h"
#include"math.h"
int a[9]={53,98,183,37,122,14,124,65,67}   ;

 FCFS()
{
    int i,j,k,sum=0;

    printf("The way:");
    for(i=0;i<=7;i++)
    {printf("%d->",a[i]);
     }
     printf("%d\n",a[8]);
     for(j=0;j<=7;j++)
     { k=abs(a[j+1]-a[j]);
       sum=sum+k;
      }
     printf("The sum is %d\n",sum);


}

 SSTF()
{  int i,j;
   int m,n=999,k=0;
   int b[9]={0,0,0,0,0,0,0,0,0};
   
   int flag[9]={1,0,0,0,0,0,0,0,0};
   b[0]=a[0];
   for(i=1;i<=8;i++)
    {
        for(j=1;j<=8;j++)
        {
            m=abs(a[j]-b[i-1]);

           if(n>m&&flag[j]==0)
           {
               n=m;
             b[i]=a[j];
             k++;
            }
          }
     n=999;
     flag[k]=1;
     k=0;

    }
     printf("The way:");
    for(i=0;i<=7;i++)
    {printf("%d->",b[i]);
     }
     printf("%d\n",b[8]);
}

SCAN()
{
	int i,j;
	int l,m,n,k,sum;
    int b[9]={0,0,0,0,0,0,0,0,0};
    for(i=0;i<9;i++)
    {b[i]=a[i];}
    
    
    for(i=0;i<9;i++)
     for(j=i+1;j<9;j++)
       {
        if(b[i]>b[j])
         {
          m=b[i];
          b[i]=b[j];
        
          b[j]=m;
          }
       }
     
    
	printf("Please choose in or out:1 or 2\n");
	scanf("%d",&l);
	   if(l==1)
	      {      
		   for(i=0;i<9;i++)
		    if(a[0]==b[i])
		     {n=i;}
		      printf("The way:");
		  	for(j=n;j>=0;j--)
		  	{
		  	printf("%d->",b[j]);
		  	
		  	}
		  
           	printf("0->");
           for(j=n+1;j<8;j++)
           {printf("%d->",b[j]);}
           printf("%d\n",b[8]);
           sum=b[n]+b[8] ;
         printf("The sum is %d\n",sum);
		  
		  }
	    if(l==2)
	    {
	    	for(i=0;i<9;i++)
		    if(a[0]==b[i])
		     {n=i;}
		     printf("The way:");
		     for(j=n;j<9;j++)
		  	{
		  	printf("%d->",b[j]);
		  	}
	    	printf("199->");
	    	 for(j=n-1;j>0;j--)
           {printf("%d->",b[j]);}
           printf("%d\n",b[0]);
              sum=2*199-b[n]-b[0];
         printf("The sum is %d\n",sum);
           }
   }

 main()
{
 int s;
 printf("Please choose the way:\n");
 printf("1.FCFS\t2.SSTF\t3.SCAN\n");
 scanf("%d",&s);
 switch(s)
  {case 1:FCFS(); break;
   case 2:SSTF(); break;
   case 3:SCAN();

   }
   getch();

}






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -