AI智能
改变未来

JavaScript_牛客网_编程初学者入门训练(101-110题解)

牛客网编程初学者入门训练题解JavaScript版本

  • 编程初学者入门训练第101-110题解答(js)
  • 101.班级成绩输入输出
  • 102.矩阵元素定位
  • 104.最高身高
  • 106.上三角矩阵判定
  • 109.杨辉三角
  • 110.井字棋

编程初学者入门训练第101-110题解答(js)

本文章尽量用简洁的代码去完成题目要求,话不多说,上代码(因为js语言的限制,所以有些题是骚操作,娱乐而已),后期会不断更新的。
注:有些题找不见了,把有的题写了一下。
代码链接: 编程初学者入门101-110T代码.

101.班级成绩输入输出

题目描述:输入一个班级5个学生各5科成绩,输出5个学生各5科成绩及总分。
输入描述:五行,每行输入一个学生各5科成绩(浮点数表示,范围0.0~100.0),用空格分隔。
输出描述:五行,按照输入顺序每行输出一个学生的5科成绩及总分(小数点保留1位),用空格分隔。

for(let i=0;i<5;i++){let arr = readline().split(\' \')let sum = 0;let str = \'\';for(let j=0;j<5;j++){sum += Number(arr[j])str += Number(arr[j]).toFixed(1)+ \' \'}console.log(str + sum.toFixed(1))}

102.矩阵元素定位

题目描述:KiKi得到了一个n行m列的矩阵,现在他想知道第x行第y列的值是多少,请你帮助他完成这个任务。
输入描述:第一行包含两个数n和m,表示这个矩阵包含n行m列。从2到n+1行,每行输入m个整数(范围-2**31~2^31-1),用空格分隔,共输入n*m个数,表示矩阵中的元素。接下来一行输入x和y,用空格分隔,表示KiKi想得到的元素的位置。(1≤x≤n≤10,1≤y≤m≤10)
输出描述:一行,输出一个整数值,为KiKi想知道的值。

let str = readline().split(\' \')let n = parseInt(str[0])let m = parseInt(str[1])let arr=[]for(let i=0;i<n;i++){arr[i]=readline().split(\' \')}let s = readline().split(\' \')let x = parseInt(s[0])let y = parseInt(s[1])console.log(arr[x-1][y-1])

104.最高身高

题目描述:KiKi想从n行m列的方阵队列中找到身高最高的人的位置,请你帮助他完成这个任务。
输入描述:第一行包含两个整数n和m,表示这个方阵队列包含n行m列。从2到n+1行,每行输入m个整数(范围-2**31~2^31-1),用空格分隔,共输入n*m个数,表示方阵中的所有人的身高(保证输入身高都不相同)。(1≤x≤n≤10,1≤y≤m≤10)
输出描述:一行,输出两个整数,用空格分隔,表示方阵中身高最高的人所在的行号和列号。

let str = readline().split(\' \')let n = parseInt(str[0])let m = parseInt(str[1])let arr=[]let max =0let pos=[]for(let i=0;i<n;i++){arr[i]=readline().split(\' \')for(let j=0;j<m;j++){if(max<arr[i][j]){max = arr[i][j]pos = [i+1,j+1]}}}console.log(pos.join(\' \'))

106.上三角矩阵判定

题目描述:KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。
输入描述:第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。 (1≤n≤10)
从2到n+1行,每行输入n个整数(范围-2**31~2^31-1),用空格分隔,共输入n*n个数。
输出描述:一行,如果输入方阵是上三角矩阵输出\”YES\”并换行,否则输出\”NO\”并换行。

let n = parseInt(readline())let arr=[]let flag=1for(let i=0;i<n;i++){arr[i]=[]arr[i]=readline().split(\' \')}for(let i=1;i<n;i++){for(let j=0;j<i;j++){if(arr[i][j]!=0){flag= 0;}}}if(flag){console.log(\'YES\')}else{console.log(\'NO\')}

109.杨辉三角

题目描述:KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。
输入描述:第一行包含一个整数数n。 (1≤n≤30)。
输出描述:包含n行,为杨辉三角的前n行,每个数输出域宽为5。

let n = parseInt(readline())let arr = [];let str = \'\'for(let i=0;i<n;i++){arr[i] = [];for(let j=0;j<=i;j++){if(j==0||j==i){arr[i][j]=1;}else{arr[i][j] = arr[i-1][j] + arr[i-1][j-1]}let num = arr[i][j];let count = 0;while(num){num = Math.floor(num/10);count++;}if(count==1){str += \"    \" +arr[i][j]}else if(count==2){str += \"   \" +arr[i][j]}else if(count==3){str += \"  \"+arr[i][j]}else if(count==4){str += \" \"+arr[i][j]}else{str = arr[i][j]}}str += \'\\n\'}console.log(str)

110.井字棋

题目描述:KiKi和BoBo玩 “井”字棋。也就是在九宫格中,只要任意行、列,或者任意对角线上面出现三个连续相同的棋子,就能获胜。请根据棋盘状态,判断当前输赢。
输入描述:三行三列的字符元素,代表棋盘状态,字符元素用空格分开,代表当前棋盘,其中元素为K代表KiKi玩家的棋子,为O表示没有棋子,为B代表BoBo玩家的棋子。
输出描述:如果KiKi获胜,输出“KiKi wins!”;
如果BoBo获胜,输出“BoBo wins!”;
如果没有获胜,输出“No winner!”。

let a = [];let aa = [];let n = 3;while(n--){let b = readline().split(\" \");a.push(b);let res = b[0]+b[1]+b[2];aa.push(res);}let res= \"\";res = a[0][0] + a[1][0] + a[2][0]; aa.push(res);res = a[0][1] + a[1][1] + a[2][1]; aa.push(res);res = a[0][2] + a[1][2] + a[2][2]; aa.push(res);res = a[0][0] + a[1][1] + a[2][2]; aa.push(res);res = a[0][2] + a[1][1] + a[2][0]; aa.push(res);let f = false;for(let i=0;i<aa.length;i++){if(aa[i] == \"KKK\") {console.log(\"KiKi wins!\"); f = true; break;}if(aa[i] == \"BBB\") {console.log(\"BoBo wins!\"); f = true; break;}}if(!f) console.log(\"No winner!\")

从不曾离开的是江湖,越陷越深的是江湖。
未完待续,Loading…

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » JavaScript_牛客网_编程初学者入门训练(101-110题解)