手机版
你好,游客 登录 注册
背景:
阅读新闻

C语言编程解决最优服务次序问题

[日期:2019-01-25] 来源:Linux社区  作者:Linux [字体: ]

设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待直到完成服务的时间总和除以n。

编程任务:

对于给定的n个顾客需要的服务时间,编程计算最优服务次序。

输入

测试数据第一行是正整数n(n<=1000),表示有n个顾客。接下来的1行中,有n个正整数,表示n个顾客需要的服务时间ti(ti<=1000)。

输出

输出最小平均等待时间,每个答案一行,保留2位小数。

样例输入

10
56 12 1 99 1000 234 33 55 99 812

样例输出

532.00

C语言编程解决最优服务次序问题

#include<stdio.h>
int main()
{
    int n,i,j;
    float a[100],b[100],t,x,y;
    scanf("%d",&n);
    for(i=0; i<n; i++)
    {
        scanf("%f",&a[i]);
    }
    for(i=0; i<n-1; i++)
    {
        for(j=0; j<n-i-1; j++)
        {
            if(a[j]>a[j+1])
            {
                t=a[j];
            a[j]=a[j+1];
            a[j+1]=t;
            }
        }
    }
  for(i=1;i<n;i++){//每个位置累加前面到自己
        a[i]+=a[i-1];
    }
    for(j=0;j<n;j++)//加起来
        x+=a[j];
    y=x/n;
printf("%.2f ",y);
}

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-01/156542.htm

linux
相关资讯       C语言编程 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款