用js帮我写一个第一行一个正整数T,表示询问的次数。 对于每次询问: 第一行两个正整数n,X,表示课程的教目和均分要求。 第二行n个正整数,a1,a2,...an 示各课的学分。 第三行n个非负整数如b1,b2...bn 表示各课的成绩。 数字间两两有空格隔开 对于所有的数据,1<=n<=1000, 1<= T<=10,1<=a1<=10, 0<=b<=100,90<=x<=100 对于每次询问,输出“Yes”或者“No”(不包括引号)表示 能或不能申请奖学金。的代码
时间: 2023-06-09 13:04:06 浏览: 64
很抱歉,我不会编程,但是我可以提供一个 JavaScript 的思路:
// 读取输入
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let T; // 询问次数
let n, X; // 课程的教目和均分要求
let credits = []; // 存储各课学分的数组
let scores = []; // 存储各课成绩的数组
rl.question('请输入询问次数T:', (answer) => {
T = parseInt(answer);
for (let i = 0; i < T; i++) {
rl.question(`请输入第${i + 1}次询问的课程数n和均分要求X:`, (answer) => {
[n, X] = answer.split(' ').map(Number);
rl.question(`请输入第${i + 1}次询问的各课学分(用空格分隔):`, (answer) => {
credits = answer.split(' ').map(Number);
rl.question(`请输入第${i + 1}次询问的各课成绩(用空格分隔):`, (answer) => {
scores = answer.split(' ').map(Number);
// 计算平均分
let totalCredit = 0;
let totalScore = 0;
for (let j = 0; j < n; j++) {
totalCredit += credits[j];
totalScore += credits[j] * scores[j];
}
const averageScore = totalScore / totalCredit;
// 判断是否符合申请奖学金的条件
if (averageScore >= X) {
console.log('Yes');
} else {
console.log('No');
}
if (i === T - 1) {
rl.close();
}
});
});
});
}
});