java练习3
7-1 输出月份 (20 分)
分别用if、switch两种方法编写根据0~11的整数转换为十二月份的程序片断,假定数字0对应一月份。
输入格式:
每一行输入0~12之间的一个数字
输出格式:
输出该数字对应的月份
输入样例:
0
输出样例:
请输入月份:
2
三月份
请输入月份:
12
请重新输入月份
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
switch(x) {
case 0:System.out.println("一月份");break;
case 1:System.out.println("二月份");break;
case 2:System.out.println("三月份");break;
case 3:System.out.println("四月份");break;
case 4:System.out.println("五月份");break;
case 5:System.out.println("六月份");break;
case 6:System.out.println("七月份");break;
case 7:System.out.println("八月份");break;
case 8:System.out.println("九月份");break;
case 9:System.out.println("十月份");break;
case 10:System.out.println("十一月份");break;
case 11:System.out.println("十二月份");break;
case 12:System.out.println("请重新输入月份");
}
}
}
7-2 点是否在圆内? (10 分)
编写程序,提示用户输入一个点(x,y),然后检查这个点是否在以原点(0,0)为圆心、半径为10的圆内。
输入格式:
输入任意一个点的x轴和y轴坐标值,且两个值之间空格分隔。
输出格式:
若点在圆内,输出1,否则输出0。
输入样例:
4 5
输出样例:
1
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
if(x*x+y*y<=10*10){
System.out.println(1);
}else{System.out.println(0);}
}
}
7-3 给出一个月的总天数 (20 分)
编写程序,提示用户输入月份和年份,然后显示这个月的天数。
输入格式:
输入任意符合范围(1月~12月)的月份和(1900年~9999年)年份,且两个值之间空格分隔。
输出格式:
输出给定年份和月份的天数。
输入样例:
2 2000
输出样例:
29
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
switch(x) {
case 1:System.out.println(31);break;
case 2:if(y%4==0){
System.out.println(29);}
else{System.out.println(28);}break;
case 3:System.out.println(31);break;
case 4:System.out.println(30);break;
case 5:System.out.println(31);break;
case 6:System.out.println(30);break;
case 7:System.out.println(31);break;
case 8:System.out.println(31);break;
case 9:System.out.println(30);break;
case 10:System.out.println(31);break;
case 11:System.out.println(30);break;
case 12:System.out.println(31);
}
}
}
7-4 编程题:统计符合条件元素的个数-hebust (8 分)
统计1…n的闭区间中,能够被3整除元素的奇数和偶数的个数
输入格式:
输入值n的范围是 【1..1000】
输出格式:
奇数个数,偶数个数
输入样例:
5
输出样例:
1,0
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int x = sc.nextInt(),n =0,m = 0;
for(;x>0;x--){
if(x%2==0&&x%3==0){
m++;
}else if(x%3==0){n++;}
}System.out.println(n+","+m);
}
}
7-5 编程题:判断闰年-hebust (10 分)
根据输入的正整数y所代表的年份,计算输出该年份是否为闰年 闰年的判断标准:
能够被4整除且不能被100整除的年份
或者能够被400整除的年份
输入格式:
输入n取值范围是 【1..3000】
输出格式:
是闰年,输出 yes
非闰年,输出 no
输入样例:
在这里给出一组输入。例如:
100
输出样例:
在这里给出相应的输出。例如:
no
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
if((x%4==0&&x%100!=0)||x%400==0){
System.out.println("yes");
}else{System.out.println("no");}
}
}
7-6 计算工资数 (10 分)
某公司标准上班时间是120小时,每小时工钱是20元, 如果上班时间超出了120小时,超出部分每小时按2倍工资发放。请编写程序计算员工月工资。
输入格式:
输入一个员工的工作小时数
输出格式:
输出这个员工的工资数
输入样例:
在这里给出一组输入。例如:
40
输出样例:
在这里给出相应的输出。例如:
800
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
if(x<=120&&x>0){
x*=20;
}else if(x>120){
x=(x-120)*20*2+120*20;
}
else{x = 0;}System.out.println(x);
}
}
7-7 成绩分级管理 (10 分)
学校进行成绩分级管理,取消分数制,改为成绩分级评定。具体办法是:小于60分为E类;60分至70分(不含70分)为D类;70分至80分(不含)为C类;80分至90分(不含)为B类;90分以上为A类。设计一个程序,对输入的成绩进行等价划分
输入格式:
输入一个整数表示成绩。
输出格式:
根据输入的成绩,输出对应的等级(大写字母)
输入样例:
在这里给出一组输入。例如:
72
输出样例:
在这里给出相应的输出。例如:
C
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
switch(x/10) {
case 9:System.out.println("A");break;
case 8:System.out.println("B");break;
case 7:System.out.println("C");break;
case 6:System.out.println("D");break;
default:System.out.println("E");
}
}
}
7-8 西安距离 (10 分)
小明来到了古都西安,想去参观大唐西市!
西安的道路可以看做是与x轴或y轴垂直的直线,小明位于(a,b),而目的地位于(c,d),问最少几步可以到达。
输入格式:
一行中四个整数,a,b,c,d,表示坐标为(a,b)与(c,d),这里0<=a,b,c,d<=1000
输出格式:
输出这两个点的西安距离。
输入样例:
0 0 3 4
输出样例:
7
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
int z = sc.nextInt();
int b = sc.nextInt();
x = Math.abs(z-x)+Math.abs(b-y);
System.out.println(x);
}
}