在外国的高校中,学生的成绩都是通过绩点来表示,那么绩点是怎么计算的呢?
下面是一个简单的绩点计算方法:
90~100分:4.0绩点
80~90分:3.5绩点
70~80分:3.0绩点
60~70分:2.5绩点
60分以下:0.0绩点
现在在外国留学的小明刚刚得到了他的一门课的成绩,请你写一个小程序告诉他这门课的绩点是多少。
package step1;
public class DecomposeFactor {
public void decompose(int score) {
/********** Begin *********/
if (score >= 90) {
System.out.println("4.0");
}
else if (score >= 80) {
System.out.println("3.5");
}
else if (score >= 70) {
System.out.println("3.0");
}
else if (score >= 60) {
System.out.println("2.5");
}
else {
System.out.println("0.0");
}
/********** End *********/
}
}
我们定义这样一个奇怪的运算式,sum=a+aa+aaa+aaaa+aa…a (n个a)。在本关中,给定a和n的值,要求计算得到sum的值。
例如当a=2,n=3时,2+22+222=246,即sum的值为246。
package step2;
public class AdditionCalculator {
public void addition(int a, int n) {
/********** Begin *********/
int i = 0;
int x = a;
int sum = 0;
while(i<n){
sum += x;
i+=1;
x=x*10+a;
}
System.out.print(sum);
/********** End *********/
}
}
在本关中,你将被要求接收命令行输入的一个正整数n,利用for循环求其阶乘,即n!。
例如,5!=54321=120。
package step3;
public class Factorial {
public void factorial(int n) {
/********** Begin *********/
int i=1,sum=1;
for(i=1;i<=n;i++)
{
sum=sum*i;
}
System.out.print(sum);
/********** End *********/
}
}
在本关中,你将被要求对命令行输入某年某月某日(多个数字用空格隔开),判断这一天是这一年的第几天,输出结果。
例如:输入2017 1 1,计算得出这是2017年的第一天。
package step4;
public class DayCount {
public void dayCount(int year, int month, int day) {
/********** Begin *********/
int days = day;
switch(month){
case 12:
days += 30;
case 11:
days += 31;
case 10:
days += 30;//九月
case 9:
days += 31;//八月
case 8:
days += 31;//七月
case 7:
days += 30;//六月
case 6:
days += 31;//五月
case 5:
days += 30;//四月
case 4:
days += 31;//三月
case 3:
days += 28;//二月
if(year % 4 ==0 && year % 100 != 0 || year%400==0){
days++;
}
case 2:
days += 31;//一月
}
System.out.println(days);
/********** End *********/
}
}