17java

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验10二维数组的使用1.排序输入一个正整数repeat(0repeat10),做repeat次下列运算:输入一个正整数n,再输入n个整数,将它们从大到小排序后输出。例:括号内是说明输入3(repeat=3)451763123554321输出765132154321importjava.util.Scanner;publicclassTest60005{publicstaticvoidmain(String[]args){intri,repeat;inti,index,k,n,temp,a[];Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri=repeat;ri++){n=in.nextInt();a=newint[n];for(i=0;in;i++)a[i]=in.nextInt();/*---------*/for(i=0;in-1;i++){//选择法递减排序index=i;for(k=i+1;kn;k++)if(a[k]a[index])index=k;temp=a[i];a[i]=a[index];a[index]=temp;}for(i=0;in;i++)System.out.print(a[i]+);System.out.println();}}}2.矩阵运算输入一个正整数repeat(0repeat10),做repeat次下列运算:读入1个正整数n(1≤n≤6),再读入n阶方阵a,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和.(副对角线为从矩阵的右上角至左下角的连线)例:括号内是说明输入:1(repeat=1)4(n=4)2341561171811111sum=35(2+3+4+5+6+7+8=35)importjava.util.Scanner;publicclassTest60011{publicstaticvoidmain(String[]args){intri,repeat;inta[][],i,j,n,sum;Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri=repeat;ri++){n=in.nextInt();a=newint[n][n];for(i=0;in;i++)for(j=0;jn;j++)a[i][j]=in.nextInt();/*---------*/sum=0;for(i=0;in-1;i++)//in-1排除最后一行for(j=0;jn-1;j++){//jn-1排除最后一列if((i+j)!=(n-1))sum+=a[i][j];//非副对角线元素才加入}System.out.println(sum=+sum);}}}3.加法口诀表输入一个正整数repeat(0repeat10),做repeat次下列运算:输入1个正整数n(1≤n≤10),输出一张20以内的加法口诀表.加数与被加数都不大于n,分列第一行和第一列.(将加数、被加数、和放入一个二维数组中,再输出该数组)例:括号内是说明输入:1(repeat=1)3(n=3)输出:+123122343456importjava.util.Scanner;publicclassTest60012{publicstaticvoidmain(String[]args){intri,repeat;inti,j,n,a[][]=newint[10][10];Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri=repeat;ri++){n=in.nextInt();/*---------*/for(i=1;i=n;i++){//给第1行和第1列所有元素赋值,a[0][0]不用赋值a[0][i]=i;//第1行为被加数,从第2列开始赋值1,2,...,na[i][0]=i;//第1列为加数,从第2行元素开始赋值1,2,...,n}for(i=1;i=n;i++)//计算和,从第2行第2列开始for(j=1;j=n;j++){a[i][j]=i+j;//或a[i][j]=a[0][j]+a[i][0];//所在列第1行元素+所在行第1列元素}for(i=0;i=n;i++){for(j=0;j=n;j++)if(i==0&&j==0)System.out.print(+);//在第1行第1列上输出+elseif(i==0||j=i)System.out.print(a[i][j]+);//输出下三角阵和第1行元素System.out.println();}}}}4.判断上三角矩阵输入一个正整数repeat(0repeat10),做repeat次下列运算:输入1个正整数n(1≤n≤6)和n阶方阵a中的元素,如果a是上三角矩阵,输出YES,否则,输出NO。(上三角矩阵,即主对角线以下的元素都为0,主对角线为从矩阵的左上角至右下角的连线)例:括号内是说明输入:2(repeat=2)3123045006(n=3)210-82(n=2)输出:YESNOimportjava.util.Scanner;publicclassTest60013{publicstaticvoidmain(String[]args){intri,repeat;inta[][],i,j,n;booleanflag;Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri=repeat;ri++){n=in.nextInt();a=newint[n][n]for(i=0;in;i++)for(j=0;jn;j++)a[i][j]=in.nextInt();/*---------*/flag=true;for(i=1;in;i++)//上三角矩阵中值为0的元素位置:行1~n-1,列0~i-1for(j=0;ji;j++)if(a[i][j]!=0)flag=false;//若有一个元素非0,则不是上三角矩阵if(flag)System.out.println(YES);elseSystem.out.println(NO);}}}5.求矩阵每行元素之和输入一个正整数repeat(0repeat10),做repeat次下列运算:输入2个正整数m和n(1≤m,n),然后输入该m行n列矩阵a中的元素,分别求出各行元素之和,并存入一维数组row中,再输出row.例:括号内是说明输入:1(repeat=1)32(m=3,n=2)631-8312输出:sumofrow0is9sumofrow1is-7sumofrow2is15importjava.util.Scanner;publicclassTest60014{publicstaticvoidmain(String[]args){intri,repeat;inti,j,m,n,a[][],row[];Scannerin=newScanner(System.in);repeat=in.nextInt();for(ri=1;ri=repeat;ri++){m=in.nextInt();n=in.nextInt();a=newint[m][n];row=newint[m];for(i=0;im;i++)for(j=0;jn;j++)a[i][j]=in.nextInt();/*---------*/for(i=0;im;i++)for(j=0;jn;j++)row[i]+=a[i][j];//计算数组a的第i+1行元素之和,存入数组row的第i+1个元素for(i=0;im;i++)System.out.println(sumofrow+i+is+row[i]);}}}

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功