2018 - 12 - 8 周六作业

2018 - 12 - 8 作业

1、请编写程序,实现对数组“int[] a={2,4,6,1,3,7,5}”从小到大排序

int[] a={2,4,6,1,3,7,5};
		int t;
		for (int i=0;i<a.length-1;i++) {
			for(int j=0;j<a.length-i-1;j++) {
				if(a[j]>a[j+1]) {
					t=a[j];
					a[j]=a[j+1];
					a[j+1]=t;
				}
			}
		}
		
		for(int x:a) {
			System.out.print(x+" ");
		}

2、水仙花数:例如407=444 + 000 + 777,判断是否是水仙花数

Scanner input = new Scanner(System.in);
		System.out.print("请输入数字:");
		int n = input.nextInt();
		
		if(b(n)) {
			System.out.println("是水仙花数");
		}else {
			System.out.println("不是水仙花数");
		}	
	}
	
	static boolean b(int n){
		boolean b = false;
		int n1 = n%10;
		int n2 = (n/10)%10;
		int n3 = (n/100)%10;
		
		if(n == n1*n1*n1 + n2*n2*n2 +n3*n3*n3) {
			b=true;
		}
		return b;

3、输入一批成绩,(0~100分,不超过15个),统计并输出平均成绩以及高于平均成绩的人数

Scanner input = new Scanner(System.in);
		
		int[] arr = new int[5];
		int a = 0;
		int i=0;
		for(;i<arr.length ;i++){
			System.out.print("请输入第"+(i+1)+"位学生的成绩");
			arr[i] = input.nextInt();
			a += arr[i];
			}
		int s = a/(arr.length);
		System.out.println("平均成绩为:"+s);
		int q = 0;
		for(i=0;i<arr.length;i++) {
			if(arr[i]>=s) {
				q += 1;
				continue;
			}
		}
		System.out.print("大于平均分的人数为:"+q);

4、使用循环输出100、95、90、85、80.。。。。5;

for(int i= 100;i>0;i-=5) {
			System.out.print(i+" ");
		}

5、编程计算1至50中是7的倍数之和

int s=0;
		for(int i = 1;i<=50;i++) {
			if(i%7==0) {
				s +=i;
			}
		}System.out.println("1~50中是7的倍数之和为:"+s);

6、输出一批整数,输出其中最大值和最小指,输入0结束循环;

	Scanner input = new Scanner(System.in);
		int max = 0;
		int min = 0;
		for(int i=1;;i++) {
			System.out.print("请输入一个整数(输入0结束):");
			int a =input.nextInt();
			
			if(a==0) {
				break;
			}
			if(max<a) {
					max = a;
				}
			if(min>a) {
					min = a;
				}
			}
			System.out.print("最大值为:"+max+" ");
			System.out.println("最小值为:"+min);

7、从键盘输入一个数,当输入1~7时,显示对应的英文星期,按0结束

Scanner input  = new Scanner(System.in);
		
		for(int i = 0; ;i++) {
			System.out.print("请输入1~7(输入0结束):");
			int a = input.nextInt();
			if(a == 0) {
				System.out.println("程序结束");
				break;
			}else if(a>=8||a<0) {
				System.out.println("请重新输入");
				continue;
			}
			switch(a) {
			case 1:
				System.out.println("今天是MON");
				break;
			case 2:
				System.out.println("今天是TUE");
				break;
			case 3:
				System.out.println("今天是WEN");
				break;
			case 4:
				System.out.println("今天是THU");
				break;
			case 5:
				System.out.println("今天是FRI");
				break;
			case 6:
				System.out.println("今天是SAT");
				break;
			case 7:
				System.out.println("今天是SUN");
				break;
			}
		}

8、有若干只鸡兔同在一个笼子里,从上面数,有35个头,从下面数,有94只脚。问笼中各有多少只鸡和兔?

for(int ji = 0;ji<=35;ji++) {
			int tuzi = 35-ji;
			if(ji*2+tuzi*4==94) {
				System.out.println("鸡有"+ji+"兔子有"+tuzi);
				break;
			}
		}

9、计数1~100,若是3倍数,输出“Flip”,5倍数输出“flop”, 即是3又是5倍数输出“FlipFlop”,其余情况输出该数字

for(int i =1;i<=100;i++) {
			System.out.print("请输入数字:");
			
			if(i%3==0 & i%5==0) {
				System.out.println("FlipFlop");
				continue;
			}
			else if(i%3==0) {
				System.out.println("Flip");
				continue;
			}
			else if(i%5==0){
				System.out.println("flop");
				continue;
			}
			
			else {
				System.out.println(i);
			}
		}

10、马克思的手稿中有这样一道有趣的数学题:有30个人,其中有男人,女人,小孩。他们在一家饭馆中吃饭,共花费50先令。如果每个男人吃饭要花3先令,每个女人要花2先令,每个小孩要花1先令,问男人,女人,小孩各多少人?

for(int m = 0;m<=10;m++) {
			int w = 20-2*m;
			int k = 30-m-w;
			
			if(m*3+w*2+k*1==50 && m>=0 &&w>=0 &&k>=0) {
				System.out.println("男人有"+m+"女人有"+w+"小孩"+k);
			}
		}

11、依次输入5句话,然后将他们逆序输出

String[] arr = {"在Java中","数据类型分两类","一类是基本数据类型","二类是引用数据类型","要理解这两类数据类型的区别"};
		
		String[] a = new String[arr.length];
		
		for(int i=0,t=arr.length-1;i<arr.length;i++,t--) {
			a[i]=arr[t];
		}
		for(String m :a) {
			System.out.print(m+"  ");
		}

12、商场中8名顾客消费分别是:18,25,7,36,13,2,89,63找出最低积分并找出他的下标

int[] arr = {18,25,7,36,13,2,89,63};
		int min = arr[0];
		
		int t = 0;
		for(int i = 0;i<arr.length;i++) {
			if(min>arr[i]) {
				min = arr[i];
				t = i;
			}
		}System.out.println("最小值为:"+min);
		System.out.println("对应的下标为:"+t);

13、从键盘输入10个整数,合法值为1,2,3,不是在三个数则是非法值,统计出每个数字的个数

Scanner input = new Scanner(System.in);
		System.out.println("请输入10个整数:");
		int a;
		int s1=0;
		int s2=0;
		int s3=0;
		int s4=0;
		int[] arr = new int[10];
		int i =0;
		for(i=0;i<10;i++) {
			arr[i]=input.nextInt();
			switch(arr[i]){
			case 1:
				s1 +=1;
				break;
			case 2:
				s2 +=1;
				break;
			case 3:
				s3 +=1;
				break;
			default :
				s4 +=1;
			}
		}
		System.out.print("输入的数字为:");
		for(int m :arr) {
			System.out.print(m+" ");
		}
		System.out.println();
		System.out.println("数字1的个数为:"+s1);
		System.out.println("数字2的个数为:"+s2);
		System.out.println("数字3的个数为:"+s3);
		System.out.println("非法数字个数为:"+s4);

14、有一个长度为5的数组,int[] arr=new int[]{1,3,-1,5,2}先创建一个新的数组,将元素逆序存放,如果元素小于0,则按0处理;

int[] arr = {1,3,-1,5,-2};
		int[] q = new int[arr.length];
		
		System.out.print("原数组为:");
		for(int m :arr) {
			System.out.print(m+" ");
		}
		System.out.println();
		System.out.print("新数组为:");
			
		for(int i=0;i<arr.length;i++) {
			q[i] = arr[arr.length-(i+1)];
			
			if(q[i]<0) {
				q[i]=0;
			}
			System.out.print(q[i]+" ");
		}

15、编写一个程序,1~500之间将能被2/5/7整数的数打印出来

for(int i =1;i<=500;i++) {
			if(i%2==0 && i%5==0 && i%7==0) {
				System.out.println(i);
			}
		}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值