• 关于前面知识的一些试题


    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 + "	");
    			}
    		}
    	}
    }
    

      

    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 + "	");
    			}
    			System.out.println();
    		}
    		//用一个循环输出
    		for(int i = 1, j = 1; i <= 9; j++){
    			System.out.print(i + "*" + j + "=" + i * j + "	");
    			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 + "	");
    		}
    	}
    }
    

      

    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 + "	");
    			}	
    		}
    	}
    }
    

      

    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);
            
        }
    }
  • 相关阅读:
    tomcat日志切割脚本
    开源项目推荐:GSL科学计算函数库(GNU Scientific Library),实现VS2019源码编译
    MCUXpresso环境开发(本文争取做到您能够快速简易应用入门,知道大体流程,复杂功能和窗口设置一律不管)
    Arduino uno r3 使用 ESP8266 UARTWiFi 透传模块
    ESP8266引脚的说明
    windows10安装Trading View出错解决办法
    windows or linux 64位安装talib包
    python中list数组指定类型
    面试官问我JVM调优,我忍不住了!
    稳了!我准备了1个晚上的CMS垃圾收集器
  • 原文地址:https://www.cnblogs.com/tangdiao/p/9450108.html
Copyright © 2020-2023  润新知