}
}
}
【12】编写程序,求
?kk?1102的值。
[解答]:
public class Test_12 { public static void main(String[] args) { int k,sum=0;
for(k=1;k<=10;k++){ sum=sum+k*k; }
System.out.println(\ } }
【13】编写一程序,输入3个数,能按大小顺序输出。 [解答]:
import java.io.BufferedReader; import java.io.IOException;
import java.io.InputStreamReader; public class Test_13 {
public static void main(String[] args) throws NumberFormatException,IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int a[] = new int[3]; int k, temp; System.out.println(\请输入3个数字(每输入一个数字后请换行)\ for (int i = 0; i < 3; i++) { a[i] = Integer.parseInt(br.readLine()); } for (int i = 0; i < a.length; i++) { k = i; for (int j = k + 1; j < a.length; j++) { if (a[j] < a[k]) { k = j; } } if (k != i) { temp = a[i]; a[i] = a[k]; a[k] = temp; }
6
} System.out.println(\从小到大排序:\ for (int i = 0; i < a.length; i++) { System.out.print(a[i] + \ } } }
【14】编写一各Java程序,查找1~100之间的素数并将运行结果输出。 [解答]:
public class Test_14 { public static void main(String[] args) { int m, k, i, n = 0; boolean flag; for (m = 1; m <= 100; m=m+2) { flag = true; k = (int)Math.sqrt(m); for (i = 2; i <= k; i++) if (m % i == 0) { flag = false; break; } if (flag) { System.out.print(m + \ n = n + 1; } if (n % 10 == 0) System.out.println(); } } }
【15】运行下面程序,并分析其执行过程: Public class multiplication{
public static void main(String args[ ]){ int i,j;
for (i=1;i<10;i++){ for (i=1;i<10;i++){
System.out.print(i+”*”+j+”=”+i*j+””); }
System.out.println();
} } }
7
[解答]:
public class Test_15 { public static void main(String[] args) { int i, j; for (i = 1; i < 10; i++) { for (j = 1; j <= i; j++) { System.out.print(i + \ } System.out.println(); } } } /*
结果: 1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 乘法表 */
【16】编写程序实现:输入一组整数,比较并输出其中的最大值和最小值,再将数组元素从小到大排序并将运行结果输出。 [解答]:
import java.io.BufferedReader; import java.io.IOException;
import java.io.InputStreamReader;
public class Test_16 { public static void main(String[] args) throws NumberFormatException,IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); int a[] = new int[5]; int k, temp; System.out.println(\请输入5个数字(每输入一个数字后请换行)\ for (int i = 0; i < 5; i++) { a[i] = Integer.parseInt(br.readLine()); } for (int i = 0; i < a.length; i++) { k = i;
8
for (int j = k + 1; j < a.length; j++) { if (a[j] < a[k]) { k = j; } } if (k != i) { temp = a[i]; a[i] = a[k]; a[k] = temp; } } System.out.println(\最小数字 :\ System.out.println(\最大数字 :\ System.out.println(\从小到大排序:\ for (int i = 0; i < a.length; i++) { System.out.print(a[i] + \ } } }
【17】编写打印下列图形的程序:
(1) (2) # * * * * * * * # # * * * * * # # # * * * # # # # * [解答]:
public class Test_17_1 { public static void main(String[] args) { int i, j; for (i = 1; i <= 4; i++) { for (j = 1; j <= i; j++) { System.out.print(\ } System.out.println(); } } }
public class Test_17_2 { public static void main(String[] args) { int i, j, k; for (i = 0; i < 4; i++) {
9
(3)
$ $ $ $ $ $ $ $ $ $ $ $ $ for (k = 0; k < i; k++) { System.out.print(\ } for (j = 0; j <= 6 - 2 * i; j++) System.out.print(\ System.out.println(); } } }
public class Test_17_3 { public static void main(String[] args) { int i=0,blank,j,star,input=5;//input是输入的行数 String s=\ for( i = 0;i < input; i++ ) { blank = Math.abs( i - input/2); for( j = 1 ; j <= blank; j++ ) s += \ star = input - 2 * blank; for( j = 1; j <= star ; j++ ) s += \ s += \ } System.out.print( s ); } }
【18】考虑一个2×3的数组a。
(1) 为a写一个设声明。试问,这样的声明使a有多少行,多少列,多少元素? (2) 写出a 的第1行的所有元素的名字。 (3) 写一条语句,置行1列2的元素为零。
(4) 写一个嵌套for结构,将a 的每个元素初始化为零。 (5) 定一条语句,求第3列元素的和。 [解答]:
(1) 数组a有2行,3列,元素个数为6
(2) 第一行元素的名字为a[0][0],a[0][1],a[0][2] (3) 置行1列2的元素为0,语句是a[0][1]=0; (4)
for(int i=0;i<2;i++){ for(in j=0;j<3;j++){ a[i][j]=0;
} }
10