直接上代码:
#include<iostream>
using namespace std;
//顾客等待时间采用的冒泡排序法:
int paixu(int cnum)
{
int i,j;
int sum=0;
for(i=0;i<cnum-1;i++)
{
for(j=i;j<cnum;j++)
{
if(a[i]>a[j])
{
valv=a[i];
a[i]=a[j];
a[j]=valv;
}
}
}
j=cnum;
//将排序后的等待时间阶乘求和
for(i=0;i<cnum;i++)
{
cout<<a[i]<<endl;
sum=a[i]*j+sum;
j--;
}
return sum;
}
int main() {
int a[20]; //顾客信息
int cnum; //顾客数
int i=0,j;
cout<<"N个顾客的等待问题:"<<endl;
cout<<"您要输入几位顾客的信息?"<<endl;
cin>>cnum;
j=cnum;
while(j)
{
cout<<"请输入第"<<i+1<<"位顾客的等待时间:"<<endl;
cin>>a[i++];
j--;
}
cout<<"输入完成,正在进行最优化排序算法..."<<endl;
cout<<"最短等待时间为"<<paixu(cnum);<<endl;
return 0;
}
有任何问题,恳请指正
手敲不易,如果觉得不错还请点赞支持下~