爪哇小程序——求产生随机数中最大值、最小值、平均数等综合练习题(选择排序法)

class zhwt2{
	public static void main(String[ ] args){
		//double a[ ]=new double [100];
		double a[ ];
		a=new double [100];
		for(int i=0;i<a.length;i++){
			a[i]=Math.random()*1000;
		//System.out.println(a[i]);/*生成随机数*/
		}
		//降序排列
		for(int i=0;i<a.length;i++){
			int max;
			max=i;
			for(int j=i+1;j<a.length;j++){ //选择排序法
				if(a[max]<a[j]){
					max=j;
				}
			}
				double linshi;
				linshi=a[i];
				a[i]=a[max];
				a[max]=linshi;
		}
		for(int i=0;i<a.length;i++){
			System.out.println(a[i]);
		}


		double sum=0;
		for(int i=0;i<a.length;i++){
			sum=sum+a[i];
		}
		double average=sum/(a.length);
		System.out.println("平均值为:");System.out.println(average);
		double s2=0,s1=0;
		for(int i=1;i<a.length;i++){
			s1=((average-a[i])*(average-a[i]));
			s2=s2+s1;
		}
		double s3=s2/(a.length);
		System.out.println("方差为:");System.out.println(s3);
		System.out.println("最大值为:");System.out.println(a[0]);//System.out.println("最大值为:"+a[0]);
		System.out.println("最小值为:");System.out.println(a[a.length-1]);//System.out.println("最小值为:"+a[a.length-1]);
	}
}//System.out.println();




选择排序法:例子

数组排序前    7    23    12    4    33    21    2    17    13    9      
第一轮循环    2    23    12    4    33    21    7    17    13    9          
第二轮循环          4      12    23    33    21    7    17    13    9    
第三轮循环                  7      23    33    21    12    17    13    9    
第四轮循环                           9      33    21    12    17    13    23         
第五轮循环                                   12    21    33    17    13    23    
第六轮循环                                           13    33    17    21    23   
第七轮循环                                                   17    33    21    23    
第八轮循环                                                           21    33    22   
第九轮循环                                                                    22    33

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值