L1-007 念数字 (10 分)
输入一个整数,输出每一个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音以下:javascript
0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu
输入格式:java
输入在一行中给出一个整数,如:1234。web
提示:整数包括负数、零和正数。app
输出格式:svg
在一行中输出这个整数对应的拼音,每一个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。ui
输入样例:spa
-600
输出样例:设计
fu liu ling lingcode
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); String[] num={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"}; String a=sc.next();//输入数字 char[] c=a.toCharArray(); StringBuilder sb=new StringBuilder(); if(c[0]=='-'){//处理第一个字符 sb.append("fu"); }else{ sb.append(num[c[0]-'0']); } for(int i=1;i<c.length;i++){ //num[c[i]-'0']:数字对应的读法 sb.append(" "+num[c[i]-'0']); } System.out.println(sb); } }
L1-008 求整数段和 (10 分)
给定两个整数A和B,输出从A到B的全部整数以及这些数的和。xml
输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。
输出格式:
首先顺序输出从A到B的全部整数,每5个数字占一行,每一个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出所有数字的和X。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 1
2 3 4 5 6
7 8
Sum = 30
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); int A=sc.nextInt(); int B=sc.nextInt(); int sum=0; int flag=0; for(int i=A;i<=B;i++){ sum+=i; StringBuilder sb=new StringBuilder(); String s=i+""; for(int j=1;j<=5-s.length();j++){ sb.append(" "); } System.out.print(sb); System.out.print(i); flag++; if(flag%5==0){ System.out.println(); } } if(flag%5!=0){ System.out.println(); } System.out.println("Sum = "+sum); } }
L1-010 比较大小 (10 分)
本题要求将输入的任意3个整数从小到大输出。
输入格式:
输入在一行中给出3个整数,其间以空格分隔。
输出格式:
在一行中将3个整数从小到大输出,其间以“->”相连。
输入样例:
4 2 8
输出样例:
2->4->8
import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); int[] arr=new int[3]; for(int i=0;i<3;i++){ arr[i]=sc.nextInt(); } Arrays.sort(arr); for(int i=0;i<3;i++){ System.out.print(arr[i]); if(i!=2){ System.out.print("->"); } } } }
L1-013 计算阶乘和 (10 分)
对于给定的正整数N,须要你计算 S=1!+2!+3!+…+N!。
输入格式:
输入在一行中给出一个不超过10的正整数N。
输出格式:
在一行中输出S的值。
输入样例:
3
输出样例:
9
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc=new Scanner(System.in); int N=sc.nextInt(); long res=0; for(int i=1;i<=N;i++){ res+=factorial(i); } System.out.println(res); } public static long factorial(int n){//阶乘 long res=1; for(int i=1;i<=n;i++){ res*=i; } return res; } }
L1-018 大笨钟 (10 分)
微博上有个自称“大笨钟V”的家伙,天天敲钟催促码农们爱惜身体早点睡觉。不过因为笨钟本身做息也不是很规律,因此敲钟并不定时。通常敲钟的点数是根据敲钟时间而定的,若是正好在某个整点敲,那么“当”数就等于那个整点数;若是过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟倒是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。
下面就请你写个程序,根据当前时间替大笨钟敲钟。
输入格式:
输入第一行按照hh:mm的格式给出当前时间。其中hh是小时,在00到23之间;mm是分钟,在00到59之间。
输出格式:
根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang。若是不是敲钟期,则输出:
Only hh:mm. Too early to Dang.
其中hh:mm是输入的时间。
输入样例1:
19:05
输出样例1:
DangDangDangDangDangDangDangDang
输入样例2:
07:05
输出样例2:
Only 07:05. Too early to Dang.
import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); String s=sc.next(); String[] str; str=s.split(":"); int[] num=new int[2]; for(int i=0;i<2;i++){ num[i]=Integer.parseInt(str[i]); } if(num[0]>=12){ if(num[0]==12&&num[1]==0){ System.out.println("Only "+s+". Too early to Dang."); }else{ for(int i=0;i<num[0]-12;i++){ System.out.print("Dang"); } if(num[1]>0){ System.out.print("Dang"); } } }else{ System.out.println("Only "+s+". Too early to Dang."); } } }