JavaScript初学者编程题(24)
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)相关推荐
- JavaScript初学者编程题(25)
JavaScript初学者编程题(25) 题目:给定一个字符串,请将字符串里的字符按照出现的频率降序进行重新排列并返回 第一种方法,利用对象和数组 JavaScript部分 var str = &qu ...
- JavaScript初学者编程题(23)
JavaScript初学者编程题(23) 题目:给你一个字符串 S,请你删去其中的所有元音字母( 'a','e','i','o','u'),并返回这个新字符串 HTMl部分 <input typ ...
- JavaScript初学者编程题(22)
JavaScript初学者编程题(22) 题目:利用递归方法求5! JavaScript部分 function getNum(num) {if(num < 2){return 1;}else{r ...
- JavaScript初学者编程题(21)
JavaScript初学者编程题(21) 题目:求1+2!+3!+-+20!的和 JavaScript部分 function get(num) {//sum总和var sum = 0;for(var ...
- JavaScript初学者编程题(20)
JavaScript初学者编程题(20) 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13-求出这个数列的前20项之和. JavaScript部分 function get(n ...
- JavaScript初学者编程题(19)
JavaScript初学者编程题(19) 题目:打印出如下图案(菱形).打印出来菱形 JavaScript部分 function get(num) {var str = '';for(var i = ...
- JavaScript初学者编程题(18)
JavaScript初学者编程题(18) 题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单.a说他不和x比,c说他不和x, ...
- JavaScript初学者编程题(17)
JavaScript初学者编程题(17) 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下 ...
- JavaScript初学者编程题(16)
JavaScript初学者编程题(16) 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下,求它在第10次落地时,共经过多少米?第10次反弹多高? HTMl部分 <!--t ...
最新文章
- xposed hook 构造函数_初识Xposed(上)
- 初学Java开发,这9本书值得一看
- tabBar颜色改动
- 计算机科学与技术考研课程安排,计算机科学与技术(0812)硕士研究生培养方案(一)...
- @PathVariable、@RequestHeader与@CookieValue注解的使用案例
- MySQL是怎么保证主备一致的?
- 字符串交错组成--很优美的递归算法
- 由SVN的月份计算错误,谈一个月的含义
- ESXi7.0 安装 MacOS (ESXi Unlocker 3.0.3)
- debian 11安装微信
- QA_java BufferedReader.readLine_出现第一个字符无法读取的问题
- 风变编程python课_聊一聊风变编程Python线上课程
- 第二课 小企鹅迷宫探宝
- 交流电机,如何用低成本的方案测试电机堵转?
- 07 Java 工程师面试技巧篇
- 局域网内如何把文件夹共享
- python泊松_python – 泊松过程的测试
- C++ XML操作类
- 邻域均值 (python)
- 了解音频频率范围和音频元器件