JavaScript初学者编程题(24)

题目:给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。

HTMl部分
    <input type="text" placeholder="客户数量" id="cus"><input type="text" placeholder="银行数量" id="bank"><button onclick="createTable()">得到表格</button>
JavaScript部分
//这个方法用来生成可输入数据的表格
function createTable() {var cusNum = parseInt(document.getElementById('cus').value);var bankNum = parseInt(document.getElementById('bank').value);var tempStr = '';for(var i = 0; i < cusNum; i++){tempStr += '第' + parseInt(i + 1) + '名客户';for(var p = 0; p < bankNum; p++){//id起名字是n-m,n是哪个客户,m是哪家银行tempStr += "<input type=\'text\' placeholder=\'银行" + parseInt(p + 1) + "\' id=\'" + parseInt(i + 1) + "-" + parseInt(p + 1) + "\'>";}tempStr += '<br>';}//生成表格,根据输入的客户和银行数量tempStr += "<button οnclick=\'calculate()\' value='" + parseInt(cusNum) + '-' + parseInt(bankNum) + "' id='calculateBtn'>开始计算</button>"//将表格打印到页面上document.body.innerHTML = tempStr;
}//这个是用来得到表格中的数据,并进行计算
function calculate() {//data是一个数组,第一个元素是客户数量,第二个是银行数量var getData = document.getElementById('calculateBtn').value.split('-');//将客户和银行的数量传过去,让getCusAndPro这个函数去得到网页中输入的数据var allCusAndPro = getCusAndPro(getData);//这个打印是为了帮助理解console.log(allCusAndPro);//最大资产总数var maxPro = 0;//谁的资产最多?var whoMax = '';for(var i = 0; i < allCusAndPro.length; i++){//临时的总资产var tempPro = 0;for(var p = 0; p < allCusAndPro[i].length; p++){tempPro += allCusAndPro[i][p];}console.log('第' + parseInt(i + 1) + '位客户的资产为' + tempPro);if(tempPro > maxPro){//如果这个人的总资产大于之前所记录的最高总资产,则替换掉,然后这个人也记录下来maxPro = tempPro;whoMax = i + 1;}}console.log('最大资产为第' + whoMax + '位客户,共' + maxPro);
}//这个方法实对每一个客户的资产进行统计的,实际上就是用来得到每一个text中的数据,并将数据处理为二维数组
function getCusAndPro(data) {//资产组,是一个二维数组,每个元素里都存一个客户资产,里面每一个元素都是temProvar cusAndPro = [];//将客户数量遍历一遍//data[0]是客户数量for(var i = 0; i < data[0]; i++){//暂时资产组,是一个数组,里面存的是每个用户在每个银行的资产var tempPro = [];//for每循环一次,就得到某一个用户在所有银行的资产,以数组的形式存储每个银行中的资产//data[1]是银行数量for(var b = 0; b < data[1]; b++){//从网页的text中得到数据,按照对应的位置存到"暂时资产组"中tempPro.push(parseInt(document.getElementById(parseInt(i + 1) + '-' + parseInt(b + 1)).value));}//将暂时资产组存到资产组里面cusAndPro.push(tempPro);}return cusAndPro;
}

思路:
1、先确定有多少顾客,有多少银行
2、创建二维数组,存储每一位客户在每一个银行中的资产
3、计算每一位客户的资产,如果这个客户的资产大于之前记录的,那就把最大资产和这个客户记录下来,最后输出

输出结果:

JavaScript初学者编程题(24)相关推荐

  1. JavaScript初学者编程题(25)

    JavaScript初学者编程题(25) 题目:给定一个字符串,请将字符串里的字符按照出现的频率降序进行重新排列并返回 第一种方法,利用对象和数组 JavaScript部分 var str = &qu ...

  2. JavaScript初学者编程题(23)

    JavaScript初学者编程题(23) 题目:给你一个字符串 S,请你删去其中的所有元音字母( 'a','e','i','o','u'),并返回这个新字符串 HTMl部分 <input typ ...

  3. JavaScript初学者编程题(22)

    JavaScript初学者编程题(22) 题目:利用递归方法求5! JavaScript部分 function getNum(num) {if(num < 2){return 1;}else{r ...

  4. JavaScript初学者编程题(21)

    JavaScript初学者编程题(21) 题目:求1+2!+3!+-+20!的和 JavaScript部分 function get(num) {//sum总和var sum = 0;for(var ...

  5. JavaScript初学者编程题(20)

    JavaScript初学者编程题(20) 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13-求出这个数列的前20项之和. JavaScript部分 function get(n ...

  6. JavaScript初学者编程题(19)

    JavaScript初学者编程题(19) 题目:打印出如下图案(菱形).打印出来菱形 JavaScript部分 function get(num) {var str = '';for(var i = ...

  7. JavaScript初学者编程题(18)

    JavaScript初学者编程题(18) 题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c说他不和x, ...

  8. JavaScript初学者编程题(17)

    JavaScript初学者编程题(17) 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下 ...

  9. JavaScript初学者编程题(16)

    JavaScript初学者编程题(16) 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? HTMl部分 <!--t ...

最新文章

  1. xposed hook 构造函数_初识Xposed(上)
  2. 初学Java开发,这9本书值得一看
  3. tabBar颜色改动
  4. 计算机科学与技术考研课程安排,计算机科学与技术(0812)硕士研究生培养方案(一)...
  5. @PathVariable、@RequestHeader与@CookieValue注解的使用案例
  6. MySQL是怎么保证主备一致的?
  7. 字符串交错组成--很优美的递归算法
  8. 由SVN的月份计算错误,谈一个月的含义
  9. ESXi7.0 安装 MacOS (ESXi Unlocker 3.0.3)
  10. debian 11安装微信
  11. QA_java BufferedReader.readLine_出现第一个字符无法读取的问题
  12. 风变编程python课_聊一聊风变编程Python线上课程
  13. 第二课 小企鹅迷宫探宝
  14. 交流电机,如何用低成本的方案测试电机堵转?
  15. 07 Java 工程师面试技巧篇
  16. 局域网内如何把文件夹共享
  17. python泊松_python – 泊松过程的测试
  18. C++ XML操作类
  19. 邻域均值 (python)
  20. 了解音频频率范围和音频元器件

热门文章

  1. 【每日一念经】算法岗面经,一万字面试经验你确定不看?
  2. pandas数据清洗(缺失值、异常值和重复值处理)
  3. Pytorch完成基础的模型-线性回归
  4. Selenium之运行效果展示
  5. 什么??听说Python要凉!
  6. 一文读懂如何通过设计模式学习创建对象?
  7. 线阵相机和面阵相机的区别及应用
  8. 用OpenCV和深度学习进行年龄识别
  9. Python轻松爬取Rosimm写真网站全部图片
  10. CentOS yum源的配置与使用