zoukankan      html  css  js  c++  java
  • 上机实验1--统计求最大、最小元素的平均比较次数

    题目:

    //上机实验题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("
    第%2d组:",++count);
    		randa(a,10);
    		MaxMin(a,10,comp);
    		sumcomp += comp; 
    	} 
    	printf("
    平均比较次数 = %g",1.0*sumcomp/10);
    }
    

      

  • 相关阅读:
    (数论选拔)联盟阵容
    ai变成bi(递增)最小次数
    状压dp
    dp被3整除的子序列
    离散化+莫队
    dp+哈希
    set的应用
    NOIP 2016 明明的随机数
    洛谷背景更改
    zzulioj 1734 堆
  • 原文地址:https://www.cnblogs.com/Hqx-curiosity/p/12021793.html
Copyright © 2011-2022 走看看