11_读数字(switch练习)
输入一个整数,输出每个数字对应的拼音。只处理正数。十个数字对应的拼音如下:
0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu
注意:使用Scanner sc=new Scanner(System.in)来处理读入整数,需要使用的方法为sc.nextInt()。 。
输入格式:
先输入整数的个数,然后挨个输入整数。
输出格式:
在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。
输入样例:
在这里给出一组输入。例如:
5 1 3 4 5 6
结尾无空行
输出样例:
在这里给出相应的输出。例如:
yi san si wu liu
结尾无空行
import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int a[]=new int[n],i; for(i=0;i<n;i++){ a[i]=sc.nextInt(); } //for(i=0;i<n;i++){ // System.out.print(a[i]); // } for(i=0;i<n-1;i++){ switch(a[i]){ case 0: System.out.print("ling ");break; case 1: System.out.print("yi ");break; case 2: System.out.print("er ");break; case 3: System.out.print("san ");break; case 4: System.out.print("si ");break; case 5: System.out.print("wu ");break; case 6: System.out.print("liu ");break; case 7: System.out.print("qi ");break; case 8: System.out.print("ba ");break; case 9: System.out.print("jiu ");break; } } switch(a[i]){ case 0: System.out.print("ling");break; case 1: System.out.print("yi");break; case 2: System.out.print("er");break; case 3: System.out.print("san");break; case 4: System.out.print("si");break; case 5: System.out.print("wu");break; case 6: System.out.print("liu");break; case 7: System.out.print("qi");break; case 8: System.out.print("ba");break; case 9: System.out.print("jiu");break; } } }
12_求素数
输入一个整数,求该整数范围内的所有素数。
输入格式:
输入一个正整数。
输出格式:
一行5个素数,每两个之间用制表符(“\t”)间隔。如果最后一行不是5个数字,那么最后一个数字后面有一个制表符。
输入样例:
在这里给出一组输入。例如:
100
结尾无空行
输出样例:
在这里给出相应的输出。例如:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
结尾无空行
import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int i,cnt=0; for(i=2;i<n;i++){ if(sushu.s(i)){ cnt++; if(cnt%5!=0) System.out.print(i+"\t"); else System.out.print(i); if(cnt%5==0) System.out.println(); } } } } class sushu{ static boolean s(int a){ if(a<=1){ return false; } else{ for(int i=2;i<a;i++){ if(a%i==0)return false; } } return true; } }
13_毕业聚会
毕业在即,三位小伙伴马上要分别。为了在未来的某个日子可以见面,三位小伙伴有了一个约定,假设在未来的某一年,三位小伙伴的年龄的末尾正好出现3、6、9三个数,那么他们会再次相聚。
现在问题来了,假设今年三位小伙伴的年龄分别是x,y,z,那么,他们三人最早几年后可以相聚呢?
输入格式:
输入数据包括三个整数x,y,z,分别表示三位伙伴的年龄。
输出格式:
如果小伙伴最早在n年后可以相见(不包括当前这一年),那么请输出这个n;如果100年内都不存在这样的情况,输出:so sad!
输入样例:
在这里给出一组输入。例如:
25 22 28
结尾无空行
输出样例:
在这里给出相应的输出。例如:
1
结尾无空行
import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); int x=sc.nextInt(),y=sc.nextInt(),z=sc.nextInt(); int fx=0,fy=0,fz=0,flag6=0,cnt=0; int i=0,flag9=0,flag3=0; while(flag3==0||flag6==0||flag9==0){ flag3=0; flag6=0; flag9=0; x++;y++;z++;cnt++; fx=x;fy=y;fz=z; if(fx%10==3||fy%10==3||fz%10==3){ flag3++; } if(fx%10==6||fy%10==6||fz%10==6){ flag6++; } if(fx%10==9||fy%10==9||fz%10==9){ flag9++; } if(cnt>100) break; } if(cnt<=100)System.out.print(cnt); else System.out.print("so sad!"); } }
14_冒泡算法(打出中间过程)
冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。请完成8个整数的冒泡排序,并打印出中间过程。
打印代码如下: class printTools{ static int n; public static void PrintArray(int a[]){ n=a.length; for(int i=0;i<=a.length-1;i++){ if(i==0){ System.out.print(a[i]); } else{ System.out.print(" "+a[i]); } } System.out.println(); } }
输入格式:
8个整数。
输出格式:
8个中间过程
输入样例:
13 2 8 7 5 3 4 1
结尾无空行
输出
2 8 7 5 3 4 1 13 2 7 5 3 4 1 8 13 2 5 3 4 1 7 8 13 2 3 4 1 5 7 8 13 2 3 1 4 5 7 8 13 2 1 3 4 5 7 8 13 1 2 3 4 5 7 8 13
结尾无空行
import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); int a[]=new int[8]; for(int i=0;i<8;i++){ a[i]=sc.nextInt(); } int j,temp,i,k; for(i=0;i<7;i++){ for(j=0;j<7;j++){ if(a[j]>a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } for(k=0;k<8;k++){ if(k!=7) System.out.print(a[k]+" "); else System.out.print(a[k]); } System.out.println(); } } }
15_选择排序
选择排序(Selection-sort)是一种简单直观的排序算法。它的工作原理:首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 请完成8个整数的选择排序,并打印出中间过程。
打印代码如下: class printTools{ static int n; public static void PrintArray(int a[]){ n=a.length; for(int i=0;i<=a.length-1;i++){ if(i==0){ System.out.print(a[i]); } else{ System.out.print(" "+a[i]); } } System.out.println(); } }
输入格式:
8个整数。
输出格式:
8个中间过程
输入样例:
8 7 6 5 4 3 2 1
结尾无空行
输出样例:
1 7 6 5 4 3 2 8 1 2 6 5 4 3 7 8 1 2 3 5 4 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
结尾无空行
import java.util.*; public class Main{ public static void main(String args[]){ Scanner sc=new Scanner (System.in); int a[]=new int[8],i,j,min=0,k=0,tmp=0,q=0; for(i=0;i<8;i++){ a[i]=sc.nextInt(); } for(i=0;i<8;i++){ min=a[i]; q=i; for(j=i;j<8;j++){ if(min>a[j]){ min=a[j]; q=j; } } tmp=a[i]; a[i]=min; a[q]=tmp; for(k=0;k<8;k++){ if(k!=7) System.out.print(a[k]+" "); else System.out.println(a[k]); } } } }
16_输入单词倒置
通过键盘输入几个单词,每个单词以空格分开。然后从最后一个单词开始,挨个输出每个单词。输出时每个单词之间有一个空格,最后一个单词后面没有空格。
输入样例:
I love Java
结尾无空行
输出样例:
Java love I
结尾无空行
import java.util.*; public class Main{ public static void main(String ags[]){ Scanner sc=new Scanner(System.in); String str=sc.nextLine(); int t[]=new int[10]; t[0]=0; int i=0,j=1; for(i=0;i<str.length();i++){ if(str.charAt(i)==' '){ t[j++]=i+1; } } j--; /*for(int o:t){ System.out.print(o); }*/ while(j>=0){ for(i=t[j];i<str.length();i++){ if(str.charAt(i)==' ')break; System.out.print(str.charAt(i)); } if(j!=0) System.out.print(" "); j--; } } }