读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。
题解如下:
这个题感觉我写的好繁琐啊,代码不够好,用的方法好憨,不过好歹写出来了
首先最难搞的还是输入输出,如果输入输出不行后续就很难写下去
再就是在截取字符串,把分数截出来转成数字型,放进数组里找出最大最小值的索引号再在inputs中去截取名字和学号输出
希望以后能有进步
居然说我的文章质量低不让我发??简直离谱我这么优秀的小文章
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
var num = 0;
var inputs = [];
var arr = []; //arr 分数数组
rl.on('line',function(data) {
if(num == 0) {
num = Number(data.trim());
} else {
inputs.push(data.trim());
if(num == inputs.length) {
deal(inputs);
inputs.length = 0;
num = 0;
}
}
});
function deal(inputs) {
var result = '';
//把分数存到数组里面
for(var i = 0; i < inputs.length; i++) {
arr[i] = parseInt(inputs[i].slice(inputs[i].lastIndexOf(' ')+1));
}
// 求最大最小值
var max = arr[0];
var maxNum = 0;
var min = arr[0];
var minNum = 0;
for(var i = 0; i < arr.length; i++) {
if(arr[i] > max) {
max = arr[i];
maxNum = i;
}
if(arr[i] < min) {
min = arr[i];
minNum = i;
}
}
console.log(inputs[maxNum].slice(0, inputs[maxNum].lastIndexOf(' ')));
console.log(inputs[minNum].slice(0, inputs[minNum].lastIndexOf(' ')));
}