关于前面知识的一些试题

2018-08-10 11:15:23来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

1. 读入一个整数,表示一个人的年龄。如果小于6岁,则输出“儿童”,6岁到13岁,输出“少儿”; 14岁到18岁,输出“青少年”; 18

岁到35 岁,输出“青年”; 35 岁到50 岁,输出“中年”; 50 岁以上输出“中老年”。

/**
1. 读入一个整数,表示一个人的年龄。如果小于6 岁,则输出“儿童”,6 岁到13 岁,输出“少儿”; 14 岁到18 岁,输出“青少年”; 18
岁到35 岁,输出“青年”; 35 岁到50 岁,输出“中年”; 50 岁以上输出“中老年”。

*/
import java.util.Scanner;
public class Demo1{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int age = s.nextInt();
		if(age < 0){
			System.out.println("输入的年龄不符合规范");
		}else if(age < 6){
			System.out.println("儿童");
		}else if(age >= 6 && age <= 13){
			System.out.println("少儿");
		}else if(age >= 14 && age <= 18){
			System.out.println("青少年");
		}else if(age > 18 && age <=35){
			System.out.println("青年");
		}else if(age > 35 && age <= 50){
			System.out.println("中年");
		}else if(age > 50){
			System.out.println("中老年");
		}
	}
}

  

 2. 读入一个整数,如果是1~5之间,则分别输出5个福娃的名字,否则输出“北京欢迎你”。

/**
2.	读入一个整数,如果是1~5 之间,则分别输出5 个福娃的名字,否则输出“北京欢迎你”。
*/
import java.util.Scanner;
public class Demo2{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int m = s.nextInt();
		switch(m){
			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;
			default:
				System.out.println("北京欢迎你");
	}
}


3. 读入三个整数,输出这三个整数中最大的一个.

/**读入三个整数,输出这三个整数中最大的一个.
*/
import java.util.Scanner;
public class Demo3{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int m = s.nextInt();
		int n = s.nextInt();
		int k = s.nextInt();
		if(m < n){
			m = n;
			if(m < k){
				m = k;
			}
		}
		System.out.println(m);
	}
}

 

 4. 读入一个表示年份的整数,判断这一年是否是闰年。如何判断一个年份是否是闰年:

1)如果这个年份能够被4 整除,且不能被100 整除,则这一年是闰年。例如, 1996 年是闰年,而相应的, 1993 年就不是闰年。
2)如果这个年份能够被100 整除,则这个数必须要能被400 整除,才是闰年。例如, 2000 年是闰年, 1900 年不是闰年。

/**
4.	读入一个表示年份的整数,判断这一年是否是闰年。如何判断一个年份是否是闰年:
*/
import java.util.Scanner;
public class Demo4{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int year = s.nextInt();
		if((year % 100 !=0) && (year % 4 == 0) || year % 400 ==0){
			System.out.println("是闰年");
		}else
			System.out.println("不是闰年");
	}
}

  

 5. 完成一个简单的计算器程序。程序要求如下:

1)读入两个整数

2) 提示用户选择对这两个整数的操作,即输出
1 : +
2 : -
3 : *
4 : /
请输入您的选择:

读入用户的选择,输出运算结果。

/**5.	完成一个简单的计算器程序。程序要求如下:

1)读入两个整数
2) 提示用户选择对这两个整数的操作,即输出
1 : +
2 : -
3 : *
4 : /
请输入您的选择:

读入用户的选择,输出运算结果。


*/
import java.util.Scanner;
public class Demo5{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int m = s.nextInt();
		int n = s.nextInt();
		System.out.println("请输入您的选择:");
		System.out.println("1:+");
		System.out.println("2:-");
		System.out.println("3:*");
		System.out.println("4:/");
		int choose = s.nextInt();
		switch(choose){
			case 1:
				System.out.println(m + n);
			break;
			case 2:
				System.out.println(m - n);
			break;
			case 3:
				System.out.println(m * n);
			break;
			case 4:
				System.out.println(m / n);
			break;
			
		}
		
	}
}

  

 6. 托运计费问题:

当货物重量小于20公斤的时候,收费5元,大于20公斤小于100公斤的时候超出20公斤的部分按每0.2元每公斤计费,如果超出100公斤的 时候,超出的部分按照每公斤0.15元计算。
读入货物的重量,输出计算之后货物的运费。

/**6.	托运计费问题:

当货物重量小于20公斤的时候,收费5元,大于20公斤小于100公斤的时候超出20公斤的部分按每0.2元每公斤计费,如果超出100公斤的  时候,超出的部分按照每公斤0.15元计算。
读入货物的重量,输出计算之后货物的运费。

*/
import java.util.Scanner;
public class Demo6{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		double weight = s.nextDouble();
		double money = 0;
		if(weight < 0){
			System.out.println("输入不合法");
		}else if(weight < 20){
			money = 5;
		}else if(weight > 20 && weight < 100){
			money = 5 + (weight - 20) * 0.2;
		}else if(weight > 100){
			money = 5 + 80 * 0.2 + (weight - 100) * 0.15;
		}
		System.out.println(money+"元");
	}
}

  

7. 读入一个三位数,计算其各位数字之和。例如: 123,各位数字之和为6

/**
7.	读入一个三位数,计算其各位数字之和。例如: 123,各位数字之和为6
*/
import java.util.Scanner;
public class Demo7{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		int gw = n % 10;
		int sw = n / 10 % 10;
		int bw = n / 100 % 10;
		System.out.println(gw + sw + bw);
	}
}

  

8. 计算1+2+3+...+100 的和

 

9. 计算1+3+5+...+99 的和

/**8. 计算1+2+3+...+100 的和

9. 计算1+3+5+...+99 的和

*/
public class Demo8{
	public static void main(String[] args){
		int sum1 = 0;
		int sum2 = 0;
		
		for(int i = 1; i <= 100; i++){
			sum1 += i;
		}
		for(int i = 1; i < 100; i += 2){
			sum2 += i;
		}
		System.out.println(sum1 + "," + sum2);
	}
	
}

  

10. 读入一个小于10的整数n,输出它的阶乘n!

/**
10.	读入一个小于10 的整数n,输出它的阶乘n!
*/
import java.util.Scanner;
public class Demo10{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		if(n > 10 || n < 0){
			System.out.println("输入不合法");
		}else{
			System.out.println(fac(n));
		}
	}
	//求阶乘的方法
	public static int fac(int n){
		if(n == 1)
			return 1;
		return n * fac(n - 1);
	}
}

  

11. 求100以内所有能被3整除但不能被5整除的数字的和。

/**11.	求100 以内所有能被3 整除但不能被5 整除的数字的和。
*/
public class Demo11{
	public static void main(String[] args){
		int sum = 0;
		for(int i = 3; i <= 100; i += 3){
			if(i % 5 != 0){
				sum += i;
			}
		}
		System.out.println(sum);
	}
}

  

12. “百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100 文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?

/**
12.	“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,
	2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100 文钱买100 只鸡,
	那么各有公鸡、母鸡、小鸡多少只?
*/
public class Demo12{
	public static void main(String[] args){
		for(int i = 1; i <= 33; i++)
			for(int j = 1; j <= 50; j++){
				int k = 100 - i - j;
				if((3 * i + 2 * j + k/3) == 100){
					System.out.println(i + "," + j + "," + k);
				}
			}
	}
}

  

13. 搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次全搬完,问男、女和小孩各若干?

/**13.	搬砖问题:36块砖,36人搬,男搬4,女搬3,两个小孩抬1砖,要求一次全搬完,问男、女和小孩各若干?
*/
public class Demo13{
	public static void main(String[] args){
		for(int i = 1; i <= 6; i++)
			for(int j = 1; j <= 12; j++)
				for(int k = 2; k <= 72; k +=2){
					if((4 * i + 3 * j + k/2) == 36){
						System.out.println(i + "," + j + "," + k);
					}
				}
	}
}

  

14. 编程找出四位整数abcd中满足下述关系的数:(ab+cd)(ab+cd)=abcd

/**
14.	编程找出四位整数abcd 中满足下述关系的数:(ab+cd)(ab+cd)=abcd
*/
public class Demo14{
	public static void main(String[] args){
		int count = 0;
		for(int i = 1000; i < 10000; i++){
			int d = i % 10;
			int c = i / 10 % 10;
			int b = i / 100 % 10;
			int a = i / 1000 % 10;
			if((a * b + c * d) * (a * b + c * d) == i){
				System.out.print(i + "\t");
			}
		}
	}
}

  

15. 读入一个整数n,输出如下图形: 当输入 n=3时,输出:

当输入n=4时,输出:

/**15.	读入一个整数n,输出如下图形: 当输入 n=3时,输出:
当输入n=4时,输出:
*/
import java.util.Scanner;
public class Demo15{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		for(int i = 1; i <= n; i++){
			for(int k = 1; k <= n - i; k++){
				System.out.print(" ");
			}
			for(int j = 1; j <= 2 * i - 1; j++){
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

  

16. 输出99乘法表

/**
16.	输出99 乘法表
*/
public class Demo16{
	public static void main(String[] args){
		for(int i = 1; i <= 9; i++){
			for(int j = 1; j <= i; j++){
				System.out.print(i + "*" + j + "=" + i * j + "\t");
			}
			System.out.println();
		}
		//用一个循环输出
		for(int i = 1, j = 1; i <= 9; j++){
			System.out.print(i + "*" + j + "=" + i * j + "\t");
			if(j == i){
				//换行
				System.out.println();
				i++;
				j = 0;
			}
		}
			
	}
}

  

17. 求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3+ b3+ c3= abc,则abc是水仙花数。

/**17.	求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3 + b3 + c3 = abc,则abc是水仙花数。
*/
public class Demo17{
	public static void main(String[] args){
		for(int i = 100; i < 1000; i++){
			int c = i % 10;
			int b = i / 10 % 10;
			int a = i / 100 % 10;
			if(a * a * a + b * b * b + c * c *c == i)
				System.out.print(i + "\t");
		}
	}
}

  

18. 输入一个整数, 计算它各位上数字的和。(注意:是任意位的整数)

/**18.	输入一个整数, 计算它各位上数字的和。(注意:是任意位的整数)
*/
import java.util.Scanner;
public class Demo18{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		int sum = 0;
		while(n != 0){
			sum += n % 10;
			n /= 10;
		}
		System.out.println(sum);
	}
}

  

19. 输入一整数A,判断它是否质数。

/**19.	输入一整数A,判断它是否质数。
*/
import java.util.Scanner;
public class Demo19{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		if(isPrime(n)){
			System.out.println("是质数");
		}else{
			System.out.println("不是质数");
		}
	}
	//定义一个方法
	public static boolean isPrime(int n){
		if(n < 2)
			return false;
		if(n == 2)
			return true;
		if(n % 2 == 0)
			return false;
		for(int i = 3; i <= n/2; i +=2){
			if(n % i == 0)
				return false;
		}
		return true;
	}
}

  

20. 如果一个数等于其所有因子之和,我们就称这个数为"完数",例如6 的因子为1,2,3,6=1+2+3,6就是一个完数.请编程打印出1000 以内所有的完数

/**20.	如果一个数等于其所有因子之和,我们就称这个数为"完数",
例如6 的因子为1,2,3,6=1+2+3,6就是一个完数.请编程打印出1000  以内所有的完数
*/
public class Demo20{
	public static void main(String[] args){
		for(int i = 0; i < 1000; i++){
			int sum = 0;
			for(int j = 1; j <= i/2; j++){
				if(i % j == 0){
					sum += j;
				}
			}
			if(sum == i){
				System.out.print(i + "\t");
			}	
		}
	}
}

  

21. 计算圆周率:中国古代数学家研究出了计算圆周率最简单的办法:PI=4/1-4/3+4/5-4/7+4/9-4/11+4/13-4/15+4/17......这个算式 的结果会无限接近于圆周率的值,我国古代数学家祖冲之计算出,圆周率在3.1415926和3.1415927 之间,请编程计算,要想得到这样的结果,他要经过多少次加减法运算?

/**计算圆周率:中国古代数学家研究出了计算圆周率最简单的办法:PI=4/1-4/3+4/5-4/7+4/9-4/11+4/13-4/15+4/17......
这个算式 的结果会无限接近于圆周率的值,我国古代数学家祖冲之计算出,圆周率在3.1415926和3.1415927  之间,
请编程计算,要想得到这样的结果,他要经过多少次加减法运算?
*/

public class Demo21{
	public static void main(String[] args){
		int i = 1, j = 3, count = 0, result = 0;
		while(true){
			result += 4 / i;
			i += 4;
			result -= 4/j;
			j -= 4;
			count += 2;
			if(result > 3.1415926 && result < 3.1415927)
				break;
			
		}
		System.out.println(count);
	}
}

  

22. 已知:faibonacci(费波那契)数列的前几个数分别为0,1,1,2,3,5……。从第3 项开始,每一项都等于前两项的和。读入一个整数

n,编程求出此数列的前n 项。

/**22.	已知:faibonacci(费波那契)数列的前几个数分别为0,1,1,2,3,5……。
从第3 项开始,每一项都等于前两项的和。读入一个整数
n,编程求出此数列的前n 项。
*/
import java.util.Scanner;
public class Demo22{
	public static void main(String[] args){
		Scanner s = new Scanner(System.in);
		int n = s.nextInt();
		System.out.println(allFai(n));
	}
	//写一个递归函数,第 n 项的值
	public static int fai(int n){
		if(n == 1)
			return 0;
		if(n == 2)
			return 1;
		return fai(n - 1) + fai(n - 2);
	}
	//写一个递归函数,前 n 项的和
	public static int allFai(int n){
		if(n < 1)
			return -1;
		if(n == 1)
			return 0;
		if(n == 2)
			return 1;
		return allFai(fai(n--)) + allFai(fai(n - 1));
		}
}

  

23. 一个int 类型的整数由32 个二进制位组成,每个二进制位的值要么为0要么为1。要求读入一个int 类型的整数n,计算它的32 个二进制位中总共有多少位为1?

 

/**
23.    一个int 类型的整数由32 个二进制位组成,每个二进制位的值要么为0要么为1。
要求读入一个int 类型的整数n,计算它的32 个二进制位中总共有多少位为1?
*/
import java.util.Scanner;
public class Demo23{
    public static void main(String[] args){
        Scanner s = new Scanner(System.in);
        int n = s.nextInt();
        
        int count = 0;
        while(0 != n){
            ++count;
            n = n & (n - 1);//跟低位想与,直到最后一位想与后就为 0
        }
        System.out.println(count);
        
    }
}

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:i++与++i的区别

下一篇:使用layer弹窗和layui表单做新增功能