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);
    }
    

      

  • 相关阅读:
    Pascal's Triangle II
    Pascal's Triangle
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Populating Next Right Pointers in Each Node
    path sum II
    Path Sum
    [转载]小波时频图
    [转载]小波时频图
    [转载]Hilbert变换及谱分析
  • 原文地址:https://www.cnblogs.com/Hqx-curiosity/p/12021793.html
Copyright © 2011-2022 走看看