c语言程序:
#include <stdio.h>
int main()
{
int machine[3]={0,0,0},task[7]={2,14,4,16,6,5,3};
int i,j,k,n,m,p;
for(i=0;i<6;i++)
{
for(j=i+1;j<7;j++)
{
if(task[i]<task[j])
{
k=task[i];
task[i]=task[j];
task[j]=k;
}
}
}
for(m=1;m<8;m++)
{
printf("第%d个任务的时间为:%d\n",m,task[m-1]);
}
printf("\n");
for(n=0;n<7;n++)
{
if(machine[0]<=machine[1]&&machine[0]<=machine[2])
machine[0]+=task[n];
else if(machine[1]<=machine[2]&&machine[1]<=machine[0])
machine[1]+=task[n];
else
machine[2]+=task[n];
}
for(p=0;p<3;p++)
{
printf("第%d个处理机所用时间为:%d\n",p,task[p]);
}
printf("\n");
if(machine[0]>=machine[1]&&machine[0]>=machine[2])
printf("三个处理机完成七项工作话费的最短时长为:%d个时间单位\n",machine[0]);
else if(machine[1]>=machine[2]&&machine[1]>=machine[0])
printf("三个处理机完成七项工作话费的最短时长为:%d个时间单位\n",machine[1]);
else
printf("三个处理机完成七项工作话费的最短时长为:%d\n个时间单位",machine[2]);
printf("\n");
}
执行结果: