练习1
- 问题A:计算球体积。
题目描述:根据输入的半径值,计算球的体积。
代码:
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main{
static double PI = 3.1415927;//定义Π的大小为3.1415927
public static void main(String args[]){
Scanner sc = new Scanner(System.in);//设置输入
DecimalFormat df = new DecimalFormat("0.000");//规定输出三位小数
double a;//定义圆半径为a
while(sc.hasNext()){
a=sc.nextDouble();
System.out.println(df.format(4*PI*a*a*a/3));
}
sc.close();
}
}
- 问题B:成绩转换。
题目描述:输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
90~100为A;
80~89为B;
70~79为C;
60~69为D;
0~59为E;
代码:
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main{
public static void main(String args[]){
int a = 0;//定义a为输入
Scanner sc = new Scanner(System.in);//设置键盘输入
while(sc.hasNext()){
a = sc.nextInt();
//判别a的大小评定等级
if(a<0||a>100){
System.out.println("Score is error!");
}else{
switch(a/10){
case 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;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.println("E");
break;
default:
break;
}
}
}
}
}
- 问题C:求奇数的乘积。
题目描述:给你n个整数,求他们中所有奇数的乘积。
代码:
import java.util.Scanner;
public class Main{
public static void main(String args[]){
int a = 0;//输入的数据
int n = 0;//输入个数
int i;//用于循环
Scanner sc = new Scanner(System.in);//设置键盘输入
while(sc.hasNext()){
int sum = 1;//sum为总和
n = sc.nextInt();
for(i=n;i>0;i--){
a = sc.nextInt();
if(a%2!=0){//判断奇偶
sum = sum*a;
}
}
System.out.println(sum);
}
}
}
- 问题D:平方和与立方和。
题目描述:给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。
代码:
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);//设置键盘输入
while(sc.hasNext()){
int x=0,y=0;//输入的两个数
x = sc.nextInt();
y = sc.nextInt();
int t=0;//中间值
int m=0;
int n=0;
if(x<y){
t = x;
x = y;
y = t;
}
for(int i=y;i<=x;i++){
if(i%2==0){
m+=Math.pow(i,2);
}else{
n+=Math.pow(i,3);
}
}
System.out.println(m+"\t"+n);
}
}
}
- 问题E: 水仙花数。
题目描述:春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^ 3+5^ 3+3^ 3。现在要求输出所有在m和n范围内的水仙花数。
代码:
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);//设置键盘输入
while(sc.hasNext()){
int x=0,y=0;//输入的两个数
x = sc.nextInt();
y = sc.nextInt();
int t=0;//中间值
int a;//个十百位数
int b;
int c;
int sum = 0;
if((x>=100&&x<=999)&&(y>=100&&y<=100)){
if(x<y){
t = x;
x = y;
y = t;
}
}
for(int i=x;i<=y;i++){
a=i/100;
b=i/10%10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c){
System.out.print(i+" ");
sum=sum+1;
}
}
if(sum==0){
System.out.println("no");
}
}
}
}
- 问题F:母牛的故事。
题目描述:有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
代码:
import java.util.Scanner;
public class Main{
public static void main(String args[]){
int n;//年份
int x;//牛数量
Scanner sc = new Scanner(System.in);//设置键盘输入
while(sc.hasNext()){
n=sc.nextInt();
if(n==0){
break;
}else if(n==1||n==2||n==3){
System.out.println(n);
}else{
int[] a = new int[n];
for(x=3;x<n;x++){
a[0]=1;
a[1]=2;
a[2]=3;
a[x]=a[x-1]+a[x-3];
}
System.out.println(a[n-1]);
}
}
}
}