#include<stdio.h>
#include<time.h>
#include<stdlib.h>
#include<math.h>
/* 先定义函数xd,求移动距离*/
int xd(int x,int y)
{
int i;
i=x-y;
return i;
}
int main()
{
/*用数组定义11个寻道请求*/
int o[11];
/*寻道请求随机产生*/
int i;
srand(time(0));
for(i=0;i<=10;i++)
{ o[i]=rand()%100+1;}/*1到100之间的100个随机数*/
/*求出总共移动距离axds*/
int n,a,b,xds,axds;
float vxds = 0;
a=o[0];
axds=0;
printf("被访问的下一个磁道号 | 移动距离\n");
for(n=1;n<=10;n++)
{
b=o[n];
xds=abs(xd(a,b));
printf("| %d %d\n",b,xds);
a=o[n];
axds=axds+xds;
}
/*求出平均寻道长度axds*/
vxds=(float)axds/10;/*从第一个被寻道的磁道号算起一共11个磁道10个移动距离(10次磁道调度)*/
printf("______________________________________\n");
printf("平均寻道长度是:%f",vxds);
}