云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > java程序设计实用教程(第3版) 叶核亚 习题答案 所有答案1—12章

java程序设计实用教程(第3版) 叶核亚 习题答案 所有答案1—12章

  • 62 次阅读
  • 3 次下载
  • 2025/6/8 10:20:01

{

for (int j=0;j

for (int j=i;j>0;j--) //生成下一行数据 table[j]=table[j-1]+table[j]; //通式 } } }

18.输出下列方阵:

(1) 输出如下形式的数字方阵(当n=4时):

1 2 6 7

3 5 8 13 4 9 12 14 10 11 15 16 程序如下:

Public class Jmat {

Public static void main(String args[]){ } }

(2)输出如下形式的数字方阵(当n=4时): 1 2 5 10

4 3 6 11 9 8 7 12 16 15 14 13

〖解答〗采用二维数组的程序如下。

public class Jmat {

public static void main(String args[]) {

int n=4; int[][] mat = new int[n][n];

int k=1; for (int i=0;i

for (int j=0;j<=i;j++)

mat[j][i] = k++;

for (int j=i-1;j>=0;j--) mat[i][j] = k++; }

阶数

是自然数,递增变化 //k先赋值后自加 // //k

for (int i=0;i

for (int j=0;j

System.out.print(\ \ System.out.println(); } } }

19.找出一个二维数组的鞍点,即该位置的元素在该行上最大,在列上最小。也可能没有暗点。

〖命题〗一个二维数组如果有鞍点,那么它只有一个鞍点。 〖证明〗反证法。

设该二维数组已有一个鞍点,为M[i,j],则有

M[i,*] <= M[i,j] <= M[*,j] 即i行上的所有元素均小于j列上的所有元素。 假设有另一个鞍点M[x,y],由(1)式知

(1)

M[i,y] <= M[x,j] (2) 而M[x,y]应在该行上最大,有

M[x,y] >= M[x,j] M[x,y]应在该列上最小,有

M[x,y] <= M[i,y] 根据(2)式,显然(3)和(4)式是不可能同时成立的。

因而假设有另一个鞍点M[x,y]是不成立的。由此证明。 〖解答〗采用二维数组的程序如下。

public class Dort {

public static void main(String args[]) {

int[][] mat = {{1,2,3},{4,5,6},{7,8,9}};

for (int i=0;i

for (int j=0;j

boolean find = false; //找到鞍点标记 int row=0; //第1行下标

int max=0; //记录当前行最大值的列下标 while (!find && row

max=0; //初始设每行第1列值最大 for (int j=1;j

//在row行上找最大值 //i、j是行、列下标 //输出二维数组元素

(3) (4)

if (mat[row][j]>mat[row][max]) //mat[row][max]为该行最大值 max = j;

boolean yes = true; //再判断mat[row][max]是否在列上最小 int j=0;

while (yes && j

if (j!=row && mat[j][max]

System.out.println(\ \ else

System.out.println(\ null\ }

20.设一个一维数组的元素值为:7,4,8,9,1和5,请输出具有以下内容的方阵: 7 4 8 9 1 5 5 7 4 8 9 1 1 5 7 4 8 9 9 1 5 7 4 8 8 9 1 5 7 4 4 8 9 1 5 7

【答】程序如下:

public class Shift {

public static void main(String args[]) {

int table[] = {7,4,8,9,1,5}; System.out.println(\左移:\ for (int i=0;i

for (int j=0;j

System.out.print(table[(i+j)%table.length]+\ \ System.out.println(); }

System.out.println(\左移:\ for (int i=0;i

int j=i;

do {

System.out.print(table[j]+\ \ j=(j+1)%table.length; }while (j!=i); System.out.println(); } } }

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

{ for (int j=0;j0;j--) //生成下一行数据 table[j]=table[j-1]+table[j]; //通式 } } } 18.输出下列方阵: (1) 输出如下形式的数字方阵(当n=4时): 1 2

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com