【发布时间】:2017-12-18 15:20:38
【问题描述】:
分数查找器(100 分)
Praveen 正在学校找一份计算机科学教师的工作。 他曾多次被不同学校拒绝,但这次他下定决心要得到这份工作。 他去找圣玛丽学校的校长。
校长说他的学校有评分和学分制度。 有 N 个科目,每个科目都有一个学分 Ci (1
A = 10,
A(minus) = 9,
B = 8,
B(minus) = 7,
C = 6,
C(minus) = 5
现在如果有 3 门科目分别为 4、3 和 2 学分,并且某个学生的成绩为 A(减), 分别在这 3 个科目中获得 B 和 C,那么他的分数将计算如下: 总分=每个科目的学分乘积和相应学分的总和。
= ( (9*4) + (3*8) + (2*6) ) = 72.
他希望 Praveen 说出可能的总分 通过为每个科目分配不同的成绩,给予学生 N 个科目的学分。
输入格式 您的函数包含一个参数 - N 个元素的一维整数数组 A,其中每个元素代表该主题的信用。 输入的第一行包含一个表示数组大小的整数 N。 接下来的 N 行输入,每行包含一个表示第 i 个主题的信用 Ci 的整数
Constraints
1 <= N <= 100
1 <= Ci <= 5
输出格式 您必须返回一个整数,表示可以给出的总分数。
Sample TestCase 1
Input
2
1
2
Output
16
现在我正在编写这样的代码
package javaapplication1;
import java.util.Scanner;
public class CandidateCode {
private static void possibleCombination(int input) {
int i=0;
int[] a=new int[Grades.length];
a[i]=input;
System.out.println("the a is "+a[i]);
}
private static final int[] Grades = new int[]{10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
public static void main(String[] args) {
int i=0,j,totalSummation=0;
Scanner uInput = new Scanner(System.in);
System.out.println("Enter length of Array:");
int index = uInput.nextInt();
int[] Credit = new int[index];
for (i = 0; i <= Credit.length-1; i++) {
Credit[i] = uInput.nextInt();
System.out.println("credit is" + Credit[i]);
for ( j = 0; j <= Grades.length - 1; j++) {
totalSummation = +(Grades[j] * Credit[i]);
possibleCombination(totalSummation);
// System.out.println("total sum is " + totalSummation);
}
}
}
}
现在我想存储在每次迭代中计算的值... 意义为 首先迭代值是 10,9,8,7,6,5,4,3,2,1 迭代第二个值是 20,18,16,14,10,8,6,4,2
我想将第一次迭代的每个值与第二次迭代的所有值相加。 i,e 10+20, 10+18, 10+16, 10+14, 10+10, 10+8, 10+6, 10+4, 10+2 同样适用于 9,8,7,6,5,4,3,2,1
为了实现这一点,我需要存储每次迭代的值,但我被困在这里,请大家帮我解决这个问题,谢谢。
【问题讨论】:
-
你有两个 for 循环。我了解您希望在第二次迭代中存储值。一种可能的解决方案是使用多维数组(array[][])。在第一个循环之前声明。在第一个循环中声明了第二个:每次迭代第二个循环将项目存储在第二个数组中。在每个第二个循环之后,您将此数组存储在第一个它将产生一个数组,其中包含表示您的第二个 for 循环的值的数组。编辑:阅读我的评论后,我不确定它是否容易理解,如果你愿意,我会做出更详细的回答
-
我同意你 polu ..但挑战是通过使用一维数组来实现相同的目标:-(
-
如果您提供更详细的解释,您会很高兴..此外,输出可以是 1 到 100 之间的任何值,所以我们需要一个可以工作并通过所有测试用例的代码
-
好吧,我不明白这部分挑战。所以你想要学分*等级的总和?我们可以假设成绩和学分具有相同的基数吗?
-
是的,大小相同