码迷,mamicode.com
首页 > 其他好文 > 详细

上机实验1--统计求最大、最小元素的平均比较次数

时间:2019-12-11 13:34:51      阅读:372      评论:0      收藏:0      [点我收藏+]

标签:min   --   i++   一个   ++   main   amp   printf   max   

题目:

//上机实验题1--统计求最大最小元素的平均比较次数
/*随机产生10个1~20的随机整数,设计一个算法找其中最大元素和最小元素,并统计元素之间的比较次数*/ 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define MAXN 10
void randa(int a[],int n){
	int i;
	for(i=0;i<n;i++)
		a[i] = rand()%20+1;
}
void MaxMin(int a[],int n,int &comp){
	int i,max,min;
	max = min =a[0];
	comp=0;
	for(i=1;i<n;i++){
		comp++;
		if(a[i]>max)
			max = a[i];
		else{
			comp++;
			if(a[i]<min){
				min = a[i];
			}
		}
	}
	for(i=0;i<n;i++)
		printf("%3d",a[i]);
	printf(" :最大值 = %d,最小值 = %d,比较次数 = %d",max,min,comp);
} 
int main(){
	int a[MAXN];
	int m,count=0,comp,sumcomp;
	srand((unsigned)time(NULL));	//
	for(m=1;m<=10;m++)
	{
		printf("\n第%2d组:",++count);
		randa(a,10);
		MaxMin(a,10,comp);
		sumcomp += comp; 
	} 
	printf("\n平均比较次数 = %g",1.0*sumcomp/10);
}

  

上机实验1--统计求最大、最小元素的平均比较次数

标签:min   --   i++   一个   ++   main   amp   printf   max   

原文地址:https://www.cnblogs.com/Hqx-curiosity/p/12021793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!