预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

学生课程实验报告书10级计算机系专业班学号学年2第下学期实验项目:算法的排序实验时间:2012-5-31实验目的:实验环境:硬件环境wandow7软件环境vc6.0实验题目:一、最优服务问题问题描述:设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti(1<=i<=n)。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n个顾客等待服务时间的总和除以n。编程任务:对于给定的n个顾客需要的服务时间,编程计算最优服务次序。数据输入:输入数据:第一行是正整数n,表示有n个顾客。接下来的1行中,有n个正整数,表示n个顾客需要的服务时间。结果输出:将编程计算出的最小平均等待时间输出在屏幕上输入文件示例输出文件示例10532.0056121991000234335599812#include<stdio.h>intdivideareasotr(intr[],ints,intt){inti,j;inttemp;i=s;j=t;temp=r[s];do{while((r[j]>=temp)&&(i<j))j--;if(i<j){r[i]=r[j];i++;}while((r[i]<=temp)&&(i<j))i++;if(i<j){r[j]=r[i];j--;}}while(i<j);r[i]=temp;returni;}voidquicksort(intr[],ints,intt){inti;if(s<t){i=divideareasotr(r,s,t);quicksort(r,s,i-1);quicksort(r,i+1,t);}}voidmain(){intr[100];intn,i;printf("pleaseinputnumber:\n");scanf("%d",&n);printf("pleaseinput:\n");for(i=1;i<=n;i++)scanf("%d",&r[i]);quicksort(r,1,n);//for(i=1;i<=n;i++)//printf("%d",r[i]);intsum=0;for(i=1;i<=n;i++){sum=sum+r[i]*(n-i+1);}floateve=(float)sum/n;printf("%f",eve);}实验运行结果:二、众数问题问题描述:给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。编程任务:对于给定的由n个自然数组成的多重集S,编程计算S的众数及其重数。数据输入:第1行多重集S中元素个数n;接下来的n行中,每行有一个自然数。结果输出:程序运行结束时,将计算结果输出。输出文件有2行,第1行给出众数,第2行是重数。输入文件示例输出文件示例612223523指导教师评语:实验成绩_______________指导教师_______________