第五周上机作业
1. 打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。(知识点:循环语句、条件语句)
package asdf; public class cg { public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 100; i < 1000; i++) { int bai = i / 100; int shi = i / 10 % 10; int ge = i % 10; if (Math.pow(bai, 3) + Math.pow(shi, 3) + Math.pow(ge, 3) == i) { System.out.println(i); } } } }
2.在控制台输出以下图形(知识点:循环语句、条件语句)
package asdf; public class cg { public static void main(String[] args) { // TODO Auto-generated method stub for (int i = 0; i < 6; i++) { for (int j = 1; j <= i + 1; j++) { System.out.print(j); } System.out.println(); } System.out.println(); for (int i = 6; i >= 1; i--) { for (int j = 1; j <= i; j++) { System.out.print(j); } System.out.println(); } System.out.println(); for (int i = 0; i < 6; i++) { for (int j = 5; j > i; j--) { System.out.print(" "); } for (int j = 1; j <= i + 1; j++) { System.out.print(j); } System.out.println(); } System.out.println(); for (int i = 0; i < 6; i++) { for (int j = 0; j < i; j++) { System.out.print(" "); } for (int j = 1; j <= 6 - i; j++) { System.out.print(j); } System.out.println(); } } }
3.输入年月日,判断这是这一年中的第几天(知识点:循环语句、条件语句)
package asdf; import java.util.Scanner; public class cg { public static void main(String[] args) { // TODO Auto-generated method stub int day=0; int month=0; int year=0; int sum=0; int leap; System.out.print("请输入年,月,日\n"); Scanner input = new Scanner(System.in); year=input.nextInt(); month=input.nextInt(); day=input.nextInt(); switch(month) { case 1: sum=0;break; case 2: sum=31;break; case 3: sum=59;break; case 4: sum=90;break; case 5: sum=120;break; case 6: sum=151;break; case 7: sum=181;break; case 8: sum=212;break; case 9: sum=243;break; case 10: sum=273;break; case 11: sum=304;break; case 12: sum=334;break; default: System.out.println("data error");break; } sum=sum+day; if(year%400==0||(year%4==0&&year%100!=0)) leap=1; else leap=0; if(leap==1 && month>2) sum++; System.out.println("该天是第"+sum+"天"); } }
4.由控制台输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后的数位4321(知识点:循环语句、条件语句)
package asdf; import java.util.Scanner; public class cg { public static void main(String[] args) { // TODO Auto-generated method stub Scanner s = new Scanner(System.in); System.out.println("请输入一个四位数:"); int num = s.nextInt(); int ge = num % 10; int shi = num / 10 % 10; int bai = num / 100 % 10; int qian = num / 1000; System.out.println("反转后结果为:" + ge + shi + bai + qian); } }