XIN'BOLG

导航

4月5日--关于数组的练习题—数组按元素的每位之和升序

  定义一个数组,存放若干正整数,数据由用户通过prompt输入,输入“end”表示结束,

  如果输入的不是正整数,则不存入数组,对该数组进行排序,要求按照正整数各位数字之和的大小排列,

  如:[8,23,100,231]排序之后是[100,23,231,8]

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">



        //定义一个数组,存放若干正整数,数据由用户通过prompt输入,
        // 输入“end”表示结束,如果输入的不是正整数,则不存入数组






        var scores = [];
        do{
            var n=prompt("请输入(end表示结束):");
            if(n=="end"){
                break;
            }
            if(n>0 && n%1==0){
                //通过prompt输入一个正整数n,将n作为数组中的元素放入scores数组中
                scores[scores.length]=n*1;
            }
        }while(true);

        //判断该数组中最大数,和最小数
        var sum = 0;
        var maxScore = scores[0];
        var minScore = scores[0];
        for(var i = 0;i < scores.length; i++){
            sum+=scores[i]; //求该数组的每位元素之和
            if(maxScore<scores[i]){ //如果第0位都小于其他元素
                maxScore=scores[i]; //那么就把最大的数赋值给maxScore
            }
            if(minScore>scores[i]){ //如果第0位都大于其他元素
                minScore=scores[i]; //那么就把最小的数赋值给maxScore
            }
        }

        //对a、b数的每一位数字相加得到sum_a,sum_b,并比较sum_a,sum_b大小
        scores.sort(compNum_1);//对scores数组进行自定义排序
        function compNum_1(a,b){
            var sum_a=0;
            while(a!=0){//通过while循环将a的每位数字相加赋值给sum_a(a与10取模,再除以10取整)
                sum_a+=a%10;
                a=parseInt(a/10);
            }

            var sum_b=0;
            while(b!=0){//通过while循环将a的每位数字相加赋值给sum_a(a与10取模,再除以10取整)
                sum_b+=b%10;
                b=parseInt(b/10);
            }
            var diff= sum_a - sum_b;//sum_a - sum_b 为数组升序。sum_b - sum_a 为数组降序
            return diff
        }
        document.write("该数组是"+scores);
        document.write('<br>总分'+sum);
        document.write('<br>平均分'+sum/scores.length);
        document.write('<br>max='+maxScore);
        document.write('<br>min='+minScore);


    </script>
</head>
<body>

</body>
</html>

 

posted on 2017-04-07 14:42  XIN'BOLG  阅读(129)  评论(0)    收藏  举报