java程序设计PTA习题(1)
sdut-入门-三个整数和、积与平均值
要求
给出三个整数,请你设计一个程序,求出这三个数的和、乘积和平均数。
输入格式: 输入只有三个正整数a、b、c。数据之间用一个空格隔开。
输出格式: 输出一行,包括三个的和、乘积、平均数。 数据之间用一个空格隔开,其中平均数保留小数后面两位。
输入样例:
2 3 3
结尾无空行
输出样例:
8 18 2.67
结尾无空行
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner reader = new Scanner(System.in);
int a, b, c, sum, ji;
double ave;
a = reader.nextInt();
b = reader.nextInt();
c = reader.nextInt();
sum = a + b + c;
ji = a * b * c;
ave = sum / 3.00;
System.out.print(sum + " ");
System.out.print(ji + " ");
System.out.printf("%.2f", ave);// 浮点型数据输出,注意和c/c++不同的是double对应的数据类型是
// %f,而非%lf;
}
}
判断某一年是否为闰年
要求
编写一个类的方法,判断某一年是否为闰年。闰年的条件是符合下面二者之一:能被 4 整除,但不能被 100 整除;或者,能被400 整除。给定一个整数年份,能输出是否是瑞年,是则输出“Yes”,否则输出“No”。
输入格式: 输入一个整数年份year
输出格式: 输出是否是瑞年,是则输出“Yes”,否则输出“No”
输入样例:
1983
结尾无空行
输出样例:
No
结尾无空行
代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
int year;
Scanner scanner = new Scanner(System.in);
year = scanner.nextInt();
if((year%4 == 0&&year%100!=0)||year%400==0)
System.out.println("Yes");
else
System.out.println("No");
}
}
sdut-sel-2 汽车超速罚款(选择结构)
要求
许多社区都有“雷达”标志,告诉司机他们的速度是多少,希望他们能够慢下来。
你将输出一个“雷达”标志的信息,根据司机驾驶车速的情况向他(她)显示信息。
输入格式: 在一行内输入2个整数。第一个表示速度的限制,第二个表示司机的开车速度。
输出格式: 如果司机没有超速,输出应该是:Congratulations, you are within the speed limit!
如果司机超速行驶,输出为:You are speeding and your fine is F.(F为上表中描述的罚款数额)
输入样例1:
40 39
结尾无空行
输出样例1:
Congratulations, you are within the speed limit!
结尾无空行
输入样例2:
100 131
结尾无空行
输出样例2:
You are speeding and your fine is 500.
结尾无空行
输入样例3:
100 120
结尾无空行
输出样例3:
You are speeding and your fine is 100.
结尾无空行
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int speedLimit,speed,fine;
speedLimit=sc.nextInt();
speed=sc.nextInt();
if(speed<=speedLimit)
System.out.println("Congratulations, you are within the speed limit!");
else if(speed-speedLimit>=1 && speed-speedLimit<=20)
System.out.println("You are speeding and your fine is 100.");
else if(speed-speedLimit>=21 && speed-speedLimit<=30)
System.out.println("You are speeding and your fine is 270.");
else
System.out.println("You are speeding and your fine is 500.");
}
}
求n的阶乘
要求
根据输入的整数n,输出n的阶乘
输入格式: n
输出格式: n!
输入样例:
在这里给出一组输入。例如:
3
结尾无空行
输出样例:
在这里给出相应的输出。例如:
6
结尾无空行
代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int n = cin.nextInt();
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
System.out.println(result);
}
}