JAJA练习
第六周
程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0 5 (repeat=5) 1010.87 32098.76 800 4010 2850 输出 tax=8.04 tax=6249.75 tax=0.0 tax=474.0 tax=200.0 import java.util.Scanner; public class Test30005 { public static void main(String[] args){ int ri, repeat; float rate, salary, tax; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ salary=in.nextFloat(); if(salary<850) tax=0; else if(salary>=850&salary<1350) tax=(salary-850)*0.05f; else if(salary>=1350&salary<2850) tax=(salary-850)*0.1f; else if(salary>=2850&salary<5850) 1 JAVA tax=(salary-850)*0.15f; else tax=(salary-850)*0.2f; System.out.println(\"tax=\"+(int)(tax*100+0.5)/100.0); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 [4] grapes 输入水果的编号,输出该水果的单价。如果输入不正确的编号,显示单价为0。 例:括号内是说明 输入 1 (repeat=1) 3 (oranges的编号) 输出 [1] apples [2] pears [3] oranges [4] grapes price=4.1 import java.util.Scanner; public class Test30006{ public static void main(String[] args){ int ri, repeat; int choice; float price; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ System.out.println(\"[1] apples\"); System.out.println(\"[2] pears\"); System.out.println(\"[3] oranges\"); System.out.println(\"[4] grapes\"); choice=in.nextInt(); if(choice==1) price=3; else if(choice==2) 2 JAVA price=2.5f; else if(choice==3) price=4.1f; else if(choice==4) price=10.2f; else price=0; System.out.println(\"price=\"+price); } } } 程序填空,不要改变与输入输出有关的语句。 输入一批以问号“?”结束的字符,对“?”以前的每一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。 例: 输入 F=y? 输出 f=Y import java.io.*; public class Test30007 { public static void main(String[] args)throws IOException{ char ch; ch=(char)System.in.read(); while(ch!='?'){ if (ch>='a'&&ch<='z') ch=(char)(ch-'a'+'A'); else if(ch>='A'&&ch<='Z') ch=(char)(ch-'A'+'a'); System.out.print(ch); ch=(char)System.in.read(); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 3 JAVA 10 5 输出 1.0 3628800.0 120.0 import java.util.Scanner; public class Test40001 { } public static void main(String[] args) { int ri, repeat; int i, n; float sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); sum=0; for(i=1;i<=n;i++){ sum=sum+1.0f/i; } System.out.println((int)(sum*1000+0.5)/1000.); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 2 (repeat=2) 1.5 2 2.0 10 输出 2.25 1024.0 import java.util.Scanner; public class Test40003 { public static void main(String[] args) { int ri, repeat; int i, n; double x, mypow; 4 JAVA } Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ x=in.nextDouble(); n=in.nextInt(); } mypow=0; for(i=1; i<=n; i++){ mypow=Math.pow(x,n);} System.out.println(mypow); } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 2 (repeat=2) 10 3 输出 0.6456 0.8333 import java.util.Scanner; public class Test40004 { public static void main(String[] args) { int ri, repeat; int i, n, flag; float sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); sum=0; for(i=1;i<=n;i++){ if (i%2==1) sum=sum+1.0f/i; else sum=sum-1.0f/i;} System.out.println((long)(sum*10000+0.5)/10000.); } 5 JAVA } } 第七周 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 2 (repeat=2) 10 3 输出 2.133256 1.5333334 import java.util.Scanner; public class Test40005 { public static void main(String[] args) { int ri, repeat; int i, n, temp; float sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); sum=0; for(i=1;i<=2*n-1;i=i+2){ sum=sum+(float)1/i; } System.out.println(sum); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 2 (repeat=2) 1E-4 6 JAVA 0.1 输出 0.7853 0.8349 import java.util.Scanner; public class sdgf { public static void main(String[] args) { int ri, repeat; int temp, flag; double eps, item, sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ eps=in.nextDouble(); sum=0; item=1; temp=1; do { if(temp%2==0) sum=sum-item; else sum=sum+item; temp=temp+1; item=1.0f/(2*temp-1); }while(item>=eps); System.out.println((int)(sum*10000+0.5)/10000.); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 F = 32 + C * 9 / 5 输出语句:System.out.println(c+\" \"+f); 例:括号内是说明 输入 1 (repeat=1) 5 7 输出 7 JAVA Celsius Fahrenheit 5 6 7 41 42 44 import java.util.Scanner; public class Test40007 { public static void main(String[] args){ int ri, repeat; int begin, c, end, f; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ begin=in.nextInt(); end=in.nextInt(); System.out.println(\"Celsius Fahrenheit\"); for(c=begin;c<=end;c++){ f = 32 + c * 9 / 5; System.out.println(c+\" \"+f); } } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 8 7 4 3 70 5 6 101 -1 输出 11 116 第八周 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 JAVA 2 (repeat=2) 2 (n=2) 10 (n=10) 输出: 1.5 1.7183 import java.util.Scanner; public class Test40021{ public static void main(String args[]){ int ri, repeat; int i,n; float s,t; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); s=0; t=1; for(i=1;i<=n;i++){ t=t*i; s=s+(float)1/t; } System.out.println((int)(s*10000+0.5)/10000.); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 输出语句:System.out.println(i); 例:括号内是说明 输入: 2 (repeat=2) 100 400 (m=100, n=400) 1 100 (m=1, n=100) 输出: 153 (1*1*1+5*5*5+3*3*3=153) 370 (3*3*3+7*7*7=370) 371 (3*3*3+7*7*7+1*1*1=371) 1 9 JAVA import java.util.Scanner; public class Test40022{ public static void main(String args[]){ int ri, repeat; int i, digit, m, n, number, sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ m=in.nextInt(); n=in.nextInt(); for(i=m;i<=n&&i<=999;i++){ sum=0; number=i; digit=number%10; sum=sum+digit*digit*digit; number=number/10; digit=number%10; sum=sum+digit*digit*digit; digit=number/10; sum=sum+digit*digit*digit; if(sum==i) System.out.println(i); } } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 3 (repeat=2) 1 10 (m=1, n=10) 20 35 (m=20, n=35) 14 16 (m=14, n=16) 输出: count=4, sum=17 (1到10之间有4个素数:2,3,5,7) count=3, sum=83 (20到35之间有3个素数:23, 29, 31) count=0, sum=0 (14到16之间没有素数) import java.util.Scanner; public class Test40023{ 10 JAVA public static void main(String args[]){ int ri, repeat; int count, i, j, k, m, n, sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ m=in.nextInt(); n=in.nextInt(); count=0; sum=0; k=1; for(i=m;i<=n&&i<=499;i++){ for(j=2;j<=i-1;j++){ k=i%j; if(k==0)break;} if(j==i){ count=count+1; sum=sum+i;} } System.out.println(\"count=\"+count+\+sum); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 2 (repeat=2) Reold building room 123 Programming is fun 输出 4 3 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 11 JAVA 1 10 (m=1, n=10) 20 35 (m=20, n=35) 14 16 (m=14, n=16) 输出: count=4, sum=17 (1到10之间有4个素数:2,3,5,7) count=3, sum=83 (20到35之间有3个素数:23, 29, 31) count=0, sum=0 (14到16之间没有素数) import java.util.Scanner; public class Test50005{ public static void main(String args[]){ int ri, repeat; int count, i, m, n, sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ m=in.nextInt(); n=in.nextInt(); count=0; sum=0; for(i=m;i<=n&&i<=499;i++){ if( prime(i)){ count++; sum=sum+i;} } System.out.println(\"count=\"+count+\+sum); } } static boolean prime(int m){ } int i=2; boolean flag=true; if(m==1) flag=false; if(m%i==0)break; if(i!=m) flag=false; for(i=2;i<=m-1;i++) return flag; } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 JAVA 输出语句:System.out.print(digit+\" \"); 例:括号内是说明 输入 3 (repeat=3) 123456 -600 8 输出 1 2 3 4 5 6 6 0 0 8 import java.util.Scanner; public class Test40032{ public static void main(String []args ){ int ri, repeat; int digit; long n, temp, pow; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextLong(); n=Math.abs(n); temp=n; pow=0; while(temp>0){ temp=temp/10; pow++;} temp=n; while(pow>0){ digit=(int) (temp/Math.pow(10,pow-1)); pow--; temp=(long) (temp-digit*Math.pow(10,pow)); System.out.print(digit+\" \"); } System.out.println(); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 假设计算器只能进行加减乘除运算,运算数和结果都是整数,4种运算符的优先级相同,按从左到右的顺序计算。 13 JAVA 例:括号内是说明 输入 2 (repeat=2) 15 + 2 / 3 = (数字与运算符之间有一空格) 1 + 2 * 10 - 10 / 2 = (数字与运算符之间有一空格) 输出 5 10 import java.util.Scanner; public class Test400033{ public static void main(String args[]) { } int ri, repeat; int op1, op2, res; char operator; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ op1=in.nextInt(); operator =(in.next()).charAt(0); while(operator!='='){ op2=in.nextInt(); switch(operator){ case'+':res=op1+op2; case'-':res=op1-op2; case'*':res=op1*op2; case'/':res=op1/op2; default: res=0;} op1=res; operator=(in.next()).charAt(0); } System.out.println(res); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 2 (repeat=2) 14 JAVA 2 (n=2) 10 (n=10) 输出: 1.5 1.7183 import java.util.Scanner; public class Test50001 { static double fact(int x) {int i; double s; i=1; s=1; while(i<=x) {s=s*i; i=i+1; } return (s); } public static void main(String[] args) { int ri,repeat; int i,n; double s; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ n=in.nextInt(); s=0; for(i=1;i<=n;i++) {s=s+1/fact(i);} System.out.println((long)(s*10000+0.5)/10000.); } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 例:括号内是说明 输入 2 (repeat=2) 15 } } JAVA 2 3 (a=2, n=3) 8 5 (a=8, n=5) 输出 246 (2+22+222) 98760 (8+88+888+8888+88888) import java.util.Scanner; public class Test50002{ public static void main(String args[]){ int ri, repeat; int i, n,a; long sn; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ a=in.nextInt(); n=in.nextInt(); sn=0; for(i=0;i } System.out.println(sn); } } static int fn(int x,int y) { if(x==0) return y; else return fn(x-1,y)*10+y; } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 3 (repeat=3) -21902 2 16 JAVA 345543 输出: count=2 (-21902中有2个2) count=1 (有1个2) count=0 (345543中没有2) import java.util.Scanner; public class Test50003{ public static void main(String args[]){ int ri, repeat; int count; long n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); int d=2; count=digitcount(n,d); System.out.println(\"count=\"+count); } } static int digitcount(long number,int digit){ long x=0; int count=0; digit=2; } number=Math.abs(number); while(number>0){ x=number%10; number=number/10; if(x==digit) count++;} return count; } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 4 (repeat=4) 1 2 9 17 17 JAVA 输出 NO (1不是素数) YES (2是素数) NO (9不是素数) YES (17是素数) import java.util.Scanner; public class Test50004{ public static void main(String args[]){ int ri, repeat,n; boolean flag; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); flag=true; flag=prime(n); if(flag) System.out.println(\"YES\"); else System.out.println(\"NO\"); } } static boolean prime(int m){ int i=2; boolean flag=true; if(m==1) flag=false; for(i=2;i<=m-1;i++) if(m%i==0)break; if(i!=m) flag=false; return flag; } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 3 (repeat=3) 1 10 (m=1, n=10) 20 35 (m=20, n=35) 18 JAVA 14 16 (m=14, n=16) 输出: count=4, sum=17 (1到10之间有4个素数:2,3,5,7) count=3, sum=83 (20到35之间有3个素数:23, 29, 31) count=0, sum=0 (14到16之间没有素数) import java.util.Scanner; public class Test50005{ public static void main(String args[]){ int ri, repeat; int count, i, m, n, sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ m=in.nextInt(); n=in.nextInt(); count=0; sum=0; for(i=m;i<=n&&i<=499;i++){ if( prime(i)){ count++; sum=sum+i;} } System.out.println(\"count=\"+count+\+sum); } } static boolean prime(int m){ } int i=2; boolean flag=true; if(m==1) flag=false; for(i=2;i<=m-1;i++) if(m%i==0)break; if(i!=m) flag=false; return flag; } 第九周 程序填空,不要改变与输入输出有关的语句。 19 JAVA 输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。 例:括号内是说明 输入 1257 输出 The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601) import java.util.Scanner; public class Test20005 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int number, digit1, digit2, digit3, digit4, newnum; number=in.nextInt(); newnum=0; digit1=(number-number%1000)/1000; digit2=((number-1000*digit1)-number%100)/100; digit3=((number-1000*digit1-100*digit2)-number%10)/10; digit4=(number)-1000*digit1-100*digit2-digit3*10; digit1=(digit1+9)%10; digit2=(digit2+9)%10; digit3=(digit3+9)%10; digit4=(digit4+9)%10; newnum=digit3*1000+digit4*100+digit1*10+digit2; System.out.println(\"The encrypted number is \"+newnum); } } 程序填空,不要改变与输入输出有关的语句。 输入一个大写英文字母,输出相应的小写字母。 例: 输入 G 输出 g import java.io.*; public class Test20006 { public static void main(String[] args) throws IOException { char ch; ch=(char)System.in.read(); ch=(char) ((char)ch-'A'+'a'); 20 JAVA System.out.println(ch); } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 aver=-1.0 aver=4.6 import java.util.Scanner; public class Test60001{ } public static void main(String []args){ } int ri, repeat; int i, n, sum,a[]; float aver; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); a=new int[n]; sum=0; for(i=0; i 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 21 JAVA 3 1 6 4 3 10 8 1 5 1 2 5 4 0 输出 max=6,index=1 (最大值6的下标是1) max=10,index=0 (最大值10的下标是0) max=5,index=2 (最大值5的下标是2) import java.util.Scanner; public class Test60002{ public static void main(String []args){ int ri, repeat; int i, index, n, a[]; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); a=new int[n] ; for(i=0; i 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 2 1 8 10 0 4 5 2 1 import java.util.Scanner; 22 JAVA public class Test60003{ public static void main(String []args){ int ri, repeat; int i, n, temp,a[]; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); a=new int[n]; for(i=0; i 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 输出 1 3 2 4 5 1 5 6 7 1 4 3 2 5 import java.util.Scanner; public class Test60004{ public static void main(String []args){ int ri, repeat; int i, index, n, t,a[]; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); 23 JAVA a=new int[n]; for(i=0; i t=a[i]; index=i;} a[index]=a[0]; a[0]=t; t=a[n-1]; for(i=0;i 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 5 4 3 2 1 import java.util.Scanner; public class Test60019{ public static void main(String []args){ int ri, repeat; 24 JAVA int i,j,k,row,col,n,a[][]; boolean flag; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); a=new int[n][n]; for (i=0;i for (i=0;i k=a[i][row]; for(i=0;flag==false^i flag=false; else col=i;} } } if(flag) System.out.println(\"a[\"+row+\"][\"+col+\"]=\"+a[row][col]); else System.out.println(\"NO\"); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 例:括号内是说明 输入: 1 (repeat=1) 4 (n=4) 2 3 4 1 5 6 1 1 7 1 8 1 25 JAVA 1 1 1 1 sum=35 (2+3+4+5+6+7+8=35) import java.util.Scanner; public class Test60011{ public static void main(String []args){ int ri, repeat; int a[][],i,j,n,sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); a=new int[n][n]; for(i=0; i for(i=1;i for(j=n-2;j>0;j--) System.out.println(\"sum=\"+sum); 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 1 (repeat=1) 3 (n=3) 输出: + 1 2 3 1 2 2 3 4 3 4 5 6 26 JAVA import java.util.Scanner; public class Test60012{ public static void main(String []args){ int ri, repeat; int i,j,n,a[][]=new int[10][10]; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); for(i=0;i for( i=0; i<=n; i++ ){ for( j=0; j<=n; j++ ) if(i==0&&j==0) System.out.print( \"+ \"); else if(i==0||j<=i) System.out.print( a[i][j]+\" \"); System.out.println(); } } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 3 1 2 3 0 4 5 0 0 6 (n=3) 2 1 0 -8 2 (n=2) 输出: YES NO import java.util.Scanner; public class Test60013{ public static void main(String []args){ int ri, repeat; int a[][],i,j,n; boolean flag; Scanner in=new Scanner(System.in); repeat=in.nextInt(); 27 JAVA for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); a=new int[n][n]; for (i=0;i for (i=0;i sum=sum+1; if(sum==n*(n-1)/2) flag=true; else flag=false; if(flag) System.out.println(\"YES\"); else System.out.println(\"NO\"); } } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 各行元素之和, 并存入一维数组row中, 再输出row. 例:括号内是说明 输入: 1 (repeat=1) 3 2 (m=3, n=2) 6 3 1 -8 3 12 输出: sum of row 0 is 9 sum of row 1 is -7 sum of row 2 is 15 import java.util.Scanner; public class Test60014{ public static void main(String []args){ int ri, repeat; int i,j,m,n,a[][],row[]; Scanner in=new Scanner(System.in); 28 JAVA repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ m=in.nextInt(); n=in.nextInt(); a=new int[m][n]; row=new int[m]; for (i=0;i 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 2 (repeat=2) 4 1 7 4 1 4 8 3 6 1 6 1 2 0 7 8 9 (n=4) 2 1 7 4 1 (n=2) 输出: a[2][1]=6 NO import java.util.Scanner; public class Test60019{ public static void main(String []args){ int ri, repeat; int i,j,k,row,col,n,a[][]; boolean flag; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ n=in.nextInt(); a=new int[n][n]; for (i=0;i JAVA for (j=0;j for(i=0;i if(flag) System.out.println(\"a[\"+row+\"][\"+col+\"]=\"+a[row][col]); else System.out.println(\"NO\"); } } } 程序填空,不要改变与输入输出有关的语句。 已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。 本题无输入。 输出示例: math = 87, eng = 72, comp = 93 average = 84 public class test20007 { public static void main(String[] args) { int math, eng, comp, average; /**********/ System.out.println(\"math = \"+math+\eng = \"+eng+\comp = \"+comp); System.out.println(\"average = \"+ average); } } public class test20007 { 30 JAVA public static void main(String[] args) { int math, eng, comp, average; math=87; eng=72; comp=93; average=(math+eng+comp)/3; System.out.println(\"math = \"+math+\eng = \"+eng+\comp = \"+comp); System.out.println(\"average = \"+ average); } } 程序填空,不要改变与输入输出有关的语句。 输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 输出 interest = 76.89 import java.util.Scanner; public class test20008 { public static void main(String[] args) { int money, year; double interest, rate; Scanner in=new Scanner(System.in); /*使用in.nextDouble()和in.nextInt()输入double和int型数据*/ /**********/ System.out.println(\"interest = \"+ (int)(interest*100+0.5)/100.0); } import java.util.Scanner; public class test20008 { public static void main(String[] args) { int money, year; double interest, rate; Scanner in=new Scanner(System.in); money=in.nextInt(); year=in.nextInt(); rate=in.nextDouble(); interest = money*Math.pow((1+rate), (double)year)- money; 31 (money = 1000, year = 3, rate = 0.025) JAVA System.out.println(\"interest = \"+ (int)(interest*100+0.5)/100.0); } } 例:括号内是说明 输入: 3 (repeat=3) 1 10 (m=1, n=10) 20 100 (m=20, n=100) 1000 6000 (m=1000, n=6000) 输出: 1 1 2 3 5 8 (1到10之间的Fibonacci数) 21 34 55 89 (20到100之间的Fibonacci数) 1597 2584 4181 (1000到6000之间的Fibonacci数) import java.util.Scanner; public class Test50006{ public static void main(String args[]){ } /*------------*/ } } import java.util.Scanner; public class Test50006{ public static void main(String args[]){ int ri,repeat; int i, m, n; long f; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ m=in.nextInt(); 32 int ri,repeat; int i, m, n; long f; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ m=in.nextInt(); n=in.nextInt(); /*---------*/ System.out.println(); } JAVA } } n=in.nextInt(); f=0; for(i=1;fib(i)>=m&fib(i)<=n;i++){ f=fib(i); System.out.print(f+\" \"); } System.out.println(); public static long fib(int i){ } } 3 1 10 20 100 1000 6000 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 要求定义并调用函数factorsum(number),它的功能是返回number的因子和。例如,factorsum(12)的返回值是16(1+2+3+4+6)。 输出语句:System.out.print(i+\" \"); 例:括号内是说明 输入: 2 (repeat=2) 20 500 (m=100, n=400) 1 100 (m=1, n=100) 输出: 28 496 1 6 28 import java.util.Scanner; public class Test50007{ public static void main(String args[]){ int ri,repeat; int i, m, n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ m=in.nextInt(); n=in.nextInt(); 33 if(i==1^i==2) else return fib(i-2)+fib(i-1); return (long)1; JAVA } } /*---------*/ System.out.println(); /*---------*/ } import java.util.Scanner; public class Test50006{ public static void main(String args[]){ } } public static long fib(int i){ } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 要求定义并调用函数is(number)判断number的各位数字之立方和是否等于它本身。 输出语句:System.out.print(i+\" \"); 例:括号内是说明 34 int ri,repeat; int i, m, n; long f; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri++){ m=in.nextInt(); n=in.nextInt(); f=0; if(m>=1&n<=10000){ for(i=1;fib(i)<=n;i++){ f=fib(i); if(fib(i)>=m) System.out.print(f+\" \"); } System.out.println(); } if(i==1^i==2) else return fib(i-2)+fib(i-1); return (long)1; JAVA 输入: 2 (repeat=2) 100 400 (m=100, n=400) 1 100 (m=1, n=100) 输出: 153 370 371 (1*1*1+5*5*5+3*3*3=153; 3*3*3+7*7*7=370; 3*3*3+7*7*7+1*1*1=371) 1 import java.util.Scanner; public class Test50008{ public static void main(String args[]){ } /*---------*/ } import java.util.Scanner; public class Test50008{ public static void main(String args[]){ } public static boolean is(int number){ 35 int ri,repeat; int i, m, n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ m=in.nextInt(); n=in.nextInt(); /*---------*/ System.out.println(); } int ri,repeat; int i, m, n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ m=in.nextInt(); n=in.nextInt(); for(i=m;i<=n;i++){ } System.out.println(); } if(is(i)) System.out.print(i+\" \"); JAVA } } int digit=number,x=number,sum=0; while(x!=0){ } if(number==sum) else return false; return true; digit=x%10; sum=sum+digit*digit*digit; x=x/10; 程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 4 (repeat=4) 123456 -100 -2 99 输出 654321 -1 -2 99 4 123456 -100 -2 99 import java.util.Scanner; public class Test50009{ public static void main(String args[]){ } /*---------*/ } 36 int ri,repeat; long n, res; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ } n=in.nextInt(); /*---------*/ System.out.println(res); JAVA import java.util.Scanner; public class Test50009{ public static void main(String args[]){ } public static long reverse(long n){ } } 程序填空,不要改变与输入输出有关的语句。 输入一个正整数 repeat (0 String k = String.valueOf(n); int i=k.length()-1; k.charAt(i); String str1=\"\"; while(i>=0){ str1=str1+k.charAt(i); i--; } return Long.parseLong(str1); } else{ } n=-n; String t = String.valueOf(n); int j=t.length()-1; t.charAt(j); String str2=\"\"; while(j>=0){ str2=str2+t.charAt(j); j--; } str2=\"-\"+str2; return Long.parseLong(str2); int ri,repeat; long n, res; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ } n=in.nextInt(); res=reverse(n); System.out.println(res); 37 JAVA 要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。例如,调用dectobin(10),输出1010。 输出语句:System.out.print(t); //t为某位二进制数 例:括号内是说明 输入: 3 (repeat=3) 15 100 0 输出: 1111 1100100 0 import java.util.Scanner; public class Test50010{ public static void main(String args[]){ } 3 15 100 0 import java.util.Scanner; public class Test50010{ public static void main(String args[]){ int ri,repeat; int i,n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ n=in.nextInt(); long t=dectobin(n); System.out.print(t); System.out.println(); } 38 int ri,repeat; int i,n; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1;ri<=repeat;ri++){ n=in.nextInt(); /*---------*/ System.out.println(); } } /*---------*/ JAVA } } } String str1=\"\"; int temp=n,x=0; while(temp!=0){ } int i=str1.length()-1; String str2=\"\"; while(i>=0){ } return Long.parseLong(str2); str2=str2+str1.charAt(i); i--; x=n%2; n=n/2; temp=temp/2; String.valueOf(x); str1=str1+x; public static long dectobin(int n){ 39 因篇幅问题不能全部显示,请点此查看更多更全内容