本文主要是介绍团体程序设计天梯赛-练习集(10分题1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
团体程序设计天梯赛-练习集(10分题1)
L1-007 念数字 (10 分)
输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:
0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu
输入格式:
输入在一行中给出一个整数,如:1234。
提示:整数包括负数、零和正数。
输出格式:
在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。
输入样例:
-600
输出样例:
fu liu ling ling
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的所有整数以及这些数的和。
输入格式:
输入在一行中给出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.");}}
}
这篇关于团体程序设计天梯赛-练习集(10分题1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!