精华内容
下载资源
问答
  • 一维数组求平均数js

    千次阅读 2017-09-13 14:09:01
    var arr=[1,2,3,4,5,6,7,8,9]; function avg(arry){ var sum=0; var len; for(var i=0,len=arry.length;i sum+=arry[i]; } var d=sum/len; alert(d); } avg(arr);   在中加入这段

    var arr=[1,2,3,4,5,6,7,8,9];
    function avg(arry){
    var sum=0;
    var len;
    for(var i=0,len=arry.length;i<len;i++){
    sum+=arry[i];
    }
    var d=sum/len;
    alert(d);
    }
    avg(arr);

     

    在<script>中加入这段

    展开全文
  • 维数组求平均数(每行/每列)

    万次阅读 2017-07-12 00:47:49
    最近在学习《数据结构与算法javascript描述》,发现里面有个二维数组求平均数的那个地方好像有一点问题,可能是我看的是盗版PDF吧,在求每行【平均数的时候没考虑到数组元素有为0的情况,在求每列平均数的时候...

                  最近在学习《数据结构与算法javascript描述》,发现里面有个二维数组求平均数的那个地方好像有一点问题,可能是我看的是盗版PDF吧,在求每一行【平均数的时候没考虑到数组元素有为0的情况,在求每一列平均数的时候代码就是错误的,所以我自己尝试重新实现一次;

     

    求二维数组每行平均数:

    每行求平均数我们只需要注意有0存在的情况即可;

    var grades = [[1,2],[3,0,4],[5,6,7]];  
    var grades1=[0,1,2,3,4,5];
    /* 
        [1,2] 
        [3,0,4] 
        [5,6,7] 
    */   
    
    
    /*
        求二维数组每行平均数函数
    */
    function averagePerRow(arr){  
        var average = 0;  
        var len=arr.length;  
        var divisor=len;  
          var tmpArray=new Array(); 
        for(var i=0;i<len;i++)  
         {  
             tmpArray.push(calPerRow(arr[i],arr[i].length)) 
         }  
          return tmpArray;
    }  
     
     /*
        求一维数组平均数函数
     */
    function calPerRow(arrRow,arrRowLen) { 
          var divisor=arrRowLen||arrRow.length;
        var totalRow=0;  
        for(var i=0;i<divisor;i++)  
        {
            totalRow+=arrRow[i];
         }  
          for(var j=0;j<divisor;j++)  
         {  
           if(arrRow[j]==0)  
             {  
               divisor-=1;  
             }  
         }  
         return totalRow/divisor;  
    }  
      
    console.log(averagePerRow(grades))  
    console.log(calPerRow(grades1))

     

    求二维数组每列平均数:

    这个必须好好说一下,在实现的时候卡克了很久;关键点在于长度不一样的数组如何去求每列的和;

    我的想法是把行列进行置换,然后再用求每行平均数的方法去求;

    但是行列置换又是一个难点,关键还是在于每个数组的长度不一样(列数),我想的思路是求出二维数组中最大的那个数组的长度,然后让其他数组长度都为这个(不够的赋值0),然后进行行列置换;可以看成M*N的矩阵;

     

    But!! 有一个大佬的思路是下面的,比我更简洁,而且代码量极少!~而且全部用ES6的语法写出来的,╮(╯▽╰)╭ 大牛就是大牛,然后仔细读了他的代码,当然借助了这个网站,在线将ES6转换为ES5;

    https://babeljs.io/repl/#?babili=false&evaluate=true&lineWrap=false&presets=es2015%2Creact%2Cstage-2&targets=&browsers=&builtIns=false&debug=false&code_lz=Q

     

    下面就是大牛的代码,实现的功能是把数组进行行列置换;

     

    var arr = [  
      [1, 2, 6,11,16],  
      [3, 0, 4],  
      [5, 6, 7,12],  
      [8, 9, 10]  
    ]  
    var result = Array(Math.max(...arr.map(e =>e.length)))
      .fill("")
      .map((_e, outerIndex) => arr.map((e, innerIndex) => e[outerIndex])
      .filter(ele => ele !== undefined));
    
    //不知道大家看懂他的代码没,下面我就按照自己的理解解释一下;
    //思路:
      /*目标
      [1, 2, 6,11,16],      [1,3,5,8]
      [3, 0, 4],          [2,0,6,9]
      [5, 6, 7,12],     ==>  [6,4,7,10] 
      [8, 9, 10]          [11,12]
                       [16]
    						
      (1)生成需要输出的数组
     ["","","","",""]
     
     (2)生成M*N “矩阵”
     [1,3,5,8]
     [2,0,6,9]
     [2,0,6,9]
     [6,4,7,10]
     [11,undefined,12,undefined]
     [16,undefined,undefined,undefined]
     
     (3) 去除"undefined"
     [1,3,5,8]
     [2,0,6,9]
     [2,0,6,9]
     [6,4,7,10]
     [11,12]
     [16]
     
     (4)将最后结果填入刚生成的数组
     [
      [1,3,5,8],
      [2,0,6,9],
      [2,0,6,9],
      [6,4,7,10],
      [11,12],
      [16],
     ]
     */

     

     

     

     

     

     我自己又仿照他的思路用ES5的语法又实现了一遍,最终可以把每列的平均数求出来~

     

    var arr = [  
      [1, 2, 6,11,16],  
      [3, 0, 4],  
      [5, 6, 7,12],  
      [8, 9, 10]  
    ]  
      
      
    function getSum(total, num) {  
        return total + Math.round(num);  
    }  
      
     function averageColRow(arr){
    	var Max=0;
    	arr.map(function(item){
    	   Max=Math.max(Max,item.length);
    	})
    	var result=Array(Max).fill("")
    	          .map(function(_e,outerIndex){
    				return arr.map(function(e,innerIndex,input){
    						return e[outerIndex]
    					}).filter(function(ele){
    						return ele!==undefined
    					})
    				});
    					
    	var permutationArray=result.map(function(item){
    		{
    			  return item.filter(function(ele){
                        return ele!=0;
    		    })
    	    }
    	 
    	 })
    	 
    
    
    	return permutationArray.map(function(item){
    		 return item.reduce(getSum,0)/item.length;
    	})
    	
    }
    
    
     console.log(averageColRow(arr));

     

     

     

     

     

     

     

     

    
     
    
     
    
     
    
     
    
     
    
     
    展开全文
  • JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组。今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何二维数组的列之和和行之和,现在就给大家分享下,共同交流交流...

        JavaScript中只支持一维数组,但是可以在数组中嵌套数组来创建二维以至于多维的数组。今天下午在看书时候,发现一道感觉比较有意思的题,就是js中如何求二维数组的列之和和行之和,现在就给大家分享下,共同交流交流。

        参差不齐的数组行之和

     1  var grades=[[1],[1,2],[1,2,3]];
     2  var num=0;
     3  var sum=0;
     4  var i=0;
     5  var j=0;
     6  for(i=0;i<grades.length;i++){ //多少行
     7   for(j=0;j<grades[i].length;j+) {//多少列   
     8       sum+=a[i][j];  
     9     }
    10    num=sum/grades[i].length    
    11    console.log("第"+parseInt(i+1)+"行"+"  平均值:"+num.toFixed(2));
    12 num=0;
    13 sum=0;  
    14 }

      

       二维数组列之和

     1   var grades=[[1,2,3,4],[1,2,3,4],[1,2,3,4]];
     2   var num=0;
     3   var sum=0;
     4  var i=0;
     5   var j=0;
     6   for(j=0;j<grades[i%grades.length].length;i++){  
     7    for(i=0;i<grades.length;i++) {  
     8        sum+=a[i][j];  
     9      }
    10     num=sum/grades.length    
    11     console.log("第"+parseInt(j+1)+"列"+"  平均值:"+num.toFixed(2));
    12  num=0;
    13  sum=0;  
    14  }



    可能有人对这句话有疑问: j<grades[i%grades.length].length
    当我们写程序时,j的第一感觉取值范围应为0-grades[i].length,但是实际上并不能,因为如果对列求和,那先把数组里面的(grades[i][j])的j置0,然后是i++。
    j < grades[i%grades.length].length,因为在第二个for语句中i只有为0 1 2 才进去,i=3时,已经跳到第一个for循环,所以如果写
    j<grades[i].length(第i行的长度) 这时的i会有3这个值,但是我没得行的索引最多是2,并不是3,这样就会产生越界问题,我们想要让i取0 1 2 ,所以就有对3求余,如果我们加更多的行怎么办呢,这时候就明白为什么对grades.length求余了。

     

    转载于:https://www.cnblogs.com/dirkhe/p/6139190.html

    展开全文
  • C语言:二维数组求平均数

    千次阅读 2019-01-18 10:45:57
    存放5个学生语数英三科成绩,定义个二维数组score[5][3],然后定义个average[5],存放平均数,在使用需要对其运行清零。 #include<stdio.h> void main() { int i,j; float score[5][3],average[5]={0.0,...

    存放5个学生语数英三科成绩,定义一个二维数组score[5][3],然后定义一个average[5],存放平均数,在使用需要对其运行清零。

    #include<stdio.h>
    void main()
    {
     int i,j;
     float score[5][3],average[5]={0.0,0.0,0.0,0.0,0.0};
     for(i=0;i<5;i++)
     {
      printf("输入第%d个学生的语数英成绩分别为:",i+1);
      for(j=0;j<3;j++)
      {
       scanf("%f",&score[i][j]);
       average[i]+=score[i][j];
      }
      average[i]/=3;
     }
     for(i=0;i<5;i++)
      printf("第%d个学生的语数英的平均成绩为:%f\n",i+1,average[i]);
    }

    运行结果为:

    展开全文
  • 维数组求深度的平均值问题

    千次阅读 2015-02-13 11:57:37
    什么是三位数组? 例如: int a[3][4][5] = {0}; 这里 定义了个三维数组 a. ...求平均深度也就是也就是求每层相同位置总和的平均值. 比如 把 第 0层 [0][0]位置 ,第 1层 [0][0]位置, 第 2层 [0][0]位置
  • 维数组周边平均值;

    千次阅读 2019-01-24 22:00:41
    //二维数组周边的指的是数组最外围圈的 main() { int nums[5][5]={ *****0,1,2,7,9**,*** //第行数的总和19 //第行周边的和19 ***1***,9,7,4,***5**,* //第二行数的总
  • TOC 欢迎使用Markdown编辑器 ...定义个二维数组(比如3行4列),输入任意12个数值,该数组的平均值。 以下是小编编写代码: var sum=0; var B=0; //此变量的定义是为了记录数组内的元素总个 var arr1=[ [12,1...
  • 二维数组练习题 要求创建类AverageScore,功能是使用二维...创建一个一维数组一维数组是为了存放三个班级成绩的和) 分别输入三个班的成绩 用for循环的嵌套实现三个班的成绩求和 分别求平均数 代码如下: impor...
  • 先定义数组a,利用for循环逐个输入数据并出他们的平均值。再定义数组b用于存放数组a中每个元素与平均值的差值的绝对值,找出数组b中最小的元素,并记录其下标,输出数组a中该元素。 以下是程序代码: ...
  • 二维数组的相关操作 * 二维数组可以说 是一维数组的扩展 * 声明及初始化类比于一维数组 二维数组的变量、求和、求最值、求平均值 二维数组求主对角线、斜对角线、外围的数字的值的和
  • java一维数组及应用

    2021-01-13 15:29:57
    文章目录java一维数组为什么需要数组什么是数组如何使用数组组的基本要素如何使用一维数组的应用1.数组平均值2.打印随机数组3.随机输入一个,证明数组中是否包含此4.随机数组最大值,最小值5.在数组中插入...
  • 编写程序从键盘输入10个float类型存入一维数组a中,这10个平均值,然后用函数aver实现平均值计算,输出这10个以及平均值,要求数组和元素个作为参数传递。 声明函数avar: (3)主函数输入10个数据,用for...
  • 一维数组

    2018-12-25 15:57:39
    1、由键盘对10个数组元素初始化,它们的平均值并输出。 2、输入个十进制整数,输出与其相等的二进制形式。将二进制保存在数组中,然后按相反的顺序输出。 3、编程对10个数组元素进行排序,要求按降序(由...
  • 当数组中每个元素都只带有一个下标时,称这样的数组为一维数组一维数组是由数字组成的以单纯的排序结构排列的结构单一的数组。一维数组是计算机程序中最基本的数组。二维及多维数组可以看作是一维数组的多次叠加...
  • Java 创建个二维数组,随机生成元素,值在 90 -100 之间,求平均值 比较难理解的都写在注释里了哦~ 应该还是很容易懂的。 多想想,都能自己写出来的。加油????(ง •_•)ง import java.util.*; public class Test{ ...
  • C++第八课一维数组.ppt

    2020-01-17 00:57:04
    一维数组;怎样用以学过知识解决下列问题;分析;例1:输入N(N)个,要求反向输出这N个. 例如:输入 5 4 5 3 9 1 输出 1 9 3 5 4 ;一维数组的初始化; 例2不达均分的人数 P1057 输入n个(n)学生的成绩统计有多少人的...
  • Day7:一维数组

    2020-07-14 20:13:39
    一维数组1.理解数组2.定义数组3.数组元素的表示与赋值4.数组的初始化5.遍历数组 1.理解数组 例:存储50个学生某门课程的成绩并50人的平均分。 分析:可以定义50个变量,分别存放50个学生的成绩。 int score1=95; ...
  • /****************************************************************************** 编写一个函数get_average()获取整型数组元素的平均值。...一维数组和二维数组的变量值由键盘分别输入,在屏幕上输出一维数组
  • #include <stdio.h> #include <stdlib.h> void test01() { int arr[5] = {0}; //数组初始化;... //数组中元素个; int i = 0; int max = arr[0]; int min = arr[0]; int sum = 0; float av
  • <p style="text-align:center"><img alt="" height="492" src="https://img-ask.csdnimg.cn/upload/1608021601715.png" width="486" /></p>
  • 然后按顺序每五个数求平均值,放在另数组中,并输出这个数组。试编程。var arr = [2, 4, 6, 8, …, 60] function bianli(){ var arr = []; for(var i=0;i<30;i++){ arr[i]=2*(i+1); } ...
  • 一维数组11月6日

    2018-11-07 14:12:36
    下面内容只能利用一维数组知识完成 1、由键盘对10个数组元素初始化,求它们的平均值并输出。 ////////////////////////////// //功能描述 :输入十个数求平均值 //返回值 :void //编写日期 :2018年11月06日 ///...
  • =5)门课,每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。 Input 输入数据有多个测试实例,每个测试实例的第行包括两个整数n和m,分别表示学生和课程。然后是n行数据...
  • =5)门课,每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。 Input 输入数据有多个测试实例,每个测试实例的第行包括两个整数n和m,分别表示学生和课程。然后是n行数据...
  • * 算法的考查:数值型数组中元素的最大值、最小值、平均数、总和等 * * 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数, * 然后出所有元素的最大值,最小值,和值,平均值,并输出出来。 *...
  • * 定义一个int型的一维数组,包含十个元素,分别赋一些随机整数,值 * 要求所有随机数都是整数 * [10,99] * 公式:(int)(Math.random()*(99-10+1)+10) */ public class arrayTest02 { public static void ...
  • 求平均身高。 2.录入五位同学的年龄,存入数组。输出年龄最小的。 3.录入五位同学的成绩,存入数组。输出最高成绩。 4.有为:8,14,20,18,23,34,12 从控制台输入,看这组中是否包含,如果包含就...
  • 就是一维数组是一行,一条线 二维数组就是一个表格,一个面 二维数组的每个元素需要两个序号(下标)一行号与列号。 2.二维数组定义 一般形式: 类型说明符 数组名[行数][列]; int a[2][3]; //2行

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 205
精华内容 82
关键字:

一维数组求平均数