200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > JavaScript初学者编程题(24)

JavaScript初学者编程题(24)

时间:2023-01-08 00:20:07

相关推荐

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、计算每一位客户的资产,如果这个客户的资产大于之前记录的,那就把最大资产和这个客户记录下来,最后输出

输出结果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。