有谁知道用java如何打印出等腰的杨辉三角? 哪位高手能帮我解决一下如何用java打印出等腰的杨辉三角? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 #include<stdio.h>void main(){ int a[10][10]; int i,j; for(i=0;i<10;i++) { for(j=0;j<=i;j++) { if(j==0)//第一列 { a[i][0]=1; printf("%d\t",a[i][0]); } else if(j==i)//最后一列 { a[i][j]=1; printf("%d\t",a[i][j]); } else { a[i][j]=a[i-1][j-1]+a[i-1][j]; printf("%d\t",a[i][j]); } } printf("\n"); }}这是用c做的,用java小修改就ok了! import java.io.*; class YangHuiSJ { public static void main(String[] args) throws Exception { int n; int i; int j; System.out.println("杨辉三角 v1.0 mao1030"); System.out.println("*******************************************"); System.out.println("请输入要显示多少行:(1-15)"); BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); n=Integer.parseInt(stdin.readLine()); if(n<=15&&n>=1){ int[][] YH=new int[n][]; System.out.println("你输入的是"+n+"行"); for(i=0;i<n;i++) { YH[i]=new int[i+1]; } for(i=0;i<n;i++) { YH[i][0]=1; YH[i][i]=1; } for(i=2;i<n;i++){ for(j=1;j<i;j++){ YH[i][j]=YH[i-1][j-1]+YH[i-1][j];} } for (i=0;i<n;i++){ for(j=0;j<=i;j++){ System.out.print(YH[i][j]); if(YH[i][j]<10) System.out.print(" "); else if(YH[i][j]<100) System.out.print(" "); else if(YH[i][j]<1000) System.out.print(" "); else System.out.print(" "); } System.out.println(); } System.out.println("*******************************************"); System.out.println("杨辉三角 v1.0 mao1030"); } else System.out.println("输入数据错误"); System.out.println("*******************************************"); System.out.println("杨辉三角 v1.0 mao1030"); } } 下面是输出杨辉三角行的前6行public class YangHui { public static void main(String[] args) { int[][] a=new int[6][]; for(int i=0;i<6;i++){ a[i]=new int[i+1]; } for(int i=0;i<6;i++){ a[i][0]=1; a[i][i]=1; } for(int i=0;i<6;i++){ for(int j=0;j<i;j++){ if(a[i][j]!=1) a[i][j]=a[i-1][j-1]+a[i-1][j]; System.out.print(a[i][j]+""); } System.out.println(""); } }} public class SanJiao { public static void main(String[] args) { int i,j; int a[][]=new int[10][10];//声明一个10行10列的二维数组 System.out.print("杨辉三角\n"); for(i=0;i<10;i++)//通过循环给这个数组的每一行的第一个元素和最后一个元素赋值为1 { a[i][0]=1; a[i][i]=1; } //从第三行开始给每一行从第二个元素开始赋值 for(i=2;i<10;i++) { for(j=1;j<i;j++) { //赋值为上一行的前一个位置和这个位置上的值得和 a[i][j]=a[i-1][j-1]+a[i-1][j]; } } //输出每一行的元素值 for(i=0;i<10;i++) {//行代表一级数组 for(j=0;j<=i;j++) {//列代表二级数组 System.out.print(a[i][j]); } System.out.println(); } }}路过.. 不好意思啊..没看到是等腰的.再补充下:package math;import java.io.*;public class San { /** * @param args */ public static void main(String[] args) { try { System.out.print("请输入杨辉三角的规模:"); BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); int n=Integer.parseInt(stdin.readLine()); int a[][]=new int[n][]; int i,j; for(i=0;i<n;i++) { a[i]=new int[i+1]; for(j=0;j<i+1;j++) { if(j==0||j==i) a[i][j]=1; else a[i][j]=a[i-1][j-1]+a[i-1][j]; } } System.out.println("行杨辉三角为:"); for (i=0;i<n;i++) { for(j=0;j<n-i;j++) System.out.print(" "); for(j=0;j<i+1;j++) System.out.print(a[i][j]+" "); System.out.print("\n"); } } catch(IOException e) { System.err.println("IOException"); } }}请输入杨辉三角的规模:8行杨辉三角为: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 import java.util.*;public class Exeone { public static void main(String[] args) { int i,j; int a[][]=new int[10][10];//声明一个10行10列的二维数组 System.out.print("杨辉三角\n"); for(i=0;i<10;i++)//通过循环给这个数组的每一行的第一个元素和最后一个元素赋值为1 { a[i][0]=1; a[i][i]=1; } //从第三行开始给每一行从第二个元素开始赋值 for(i=2;i<10;i++) { for(j=1;j<i;j++) { //赋值为上一行的前一个位置和这个位置上的值得和 a[i][j]=a[i-1][j-1]+a[i-1][j]; } } //输出每一行的元素值 for(i=0;i<10;i++) {//行代表一级数组 for(j=0;j<=i;j++) {//列代表二级数组 System.out.print(a[i][j]); } System.out.println(); } }} java java java Batik Svg 请高人解答图片导致界面闪动问题! 请高手进 一个公司面试题的算法 在线等,马上给分!急!用ftp把一台Linux机器上的一个文件下载到本地,修改后再上传回去?java怎么做? 蔡鸟提问一个问题,感觉是变量生存周期的问题 package是怎么用的??? 一个对新手稍有深度的问题,我是新手。 怎样实现动态时间显示,在网页上 登录邮箱 帮忙看一下几行代码,赋值出错!
void main()
{
int a[10][10];
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)
{
if(j==0)//第一列
{
a[i][0]=1;
printf("%d\t",a[i][0]);
}
else if(j==i)//最后一列
{
a[i][j]=1;
printf("%d\t",a[i][j]);
}
else
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
printf("%d\t",a[i][j]);
}
}
printf("\n");
}
}
这是用c做的,用java小修改就ok了!
class YangHuiSJ
{
public static void main(String[] args) throws Exception
{
int n;
int i;
int j;
System.out.println("杨辉三角 v1.0 mao1030");
System.out.println("*******************************************");
System.out.println("请输入要显示多少行:(1-15)");
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
n=Integer.parseInt(stdin.readLine());
if(n<=15&&n>=1){
int[][] YH=new int[n][];
System.out.println("你输入的是"+n+"行");
for(i=0;i<n;i++)
{
YH[i]=new int[i+1];
}
for(i=0;i<n;i++)
{
YH[i][0]=1;
YH[i][i]=1;
}
for(i=2;i<n;i++){
for(j=1;j<i;j++){
YH[i][j]=YH[i-1][j-1]+YH[i-1][j];}
} for (i=0;i<n;i++){
for(j=0;j<=i;j++){
System.out.print(YH[i][j]);
if(YH[i][j]<10) System.out.print(" ");
else if(YH[i][j]<100) System.out.print(" ");
else if(YH[i][j]<1000) System.out.print(" ");
else System.out.print(" ");
}
System.out.println();
} System.out.println("*******************************************");
System.out.println("杨辉三角 v1.0 mao1030");
}
else
System.out.println("输入数据错误");
System.out.println("*******************************************");
System.out.println("杨辉三角 v1.0 mao1030");
}
}
public class YangHui {
public static void main(String[] args) {
int[][] a=new int[6][];
for(int i=0;i<6;i++){
a[i]=new int[i+1];
}
for(int i=0;i<6;i++){
a[i][0]=1;
a[i][i]=1;
}
for(int i=0;i<6;i++){
for(int j=0;j<i;j++){
if(a[i][j]!=1)
a[i][j]=a[i-1][j-1]+a[i-1][j];
System.out.print(a[i][j]+"");
}
System.out.println("");
}
}}
public class SanJiao {
public static void main(String[] args) {
int i,j;
int a[][]=new int[10][10];//声明一个10行10列的二维数组
System.out.print("杨辉三角\n");
for(i=0;i<10;i++)//通过循环给这个数组的每一行的第一个元素和最后一个元素赋值为1
{
a[i][0]=1;
a[i][i]=1;
}
//从第三行开始给每一行从第二个元素开始赋值
for(i=2;i<10;i++)
{
for(j=1;j<i;j++)
{
//赋值为上一行的前一个位置和这个位置上的值得和
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
//输出每一行的元素值
for(i=0;i<10;i++)
{//行代表一级数组
for(j=0;j<=i;j++)
{//列代表二级数组
System.out.print(a[i][j]);
}
System.out.println();
} }}路过..
import java.io.*;
public class San { /**
* @param args
*/
public static void main(String[] args) {
try
{
System.out.print("请输入杨辉三角的规模:");
BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(stdin.readLine());
int a[][]=new int[n][];
int i,j;
for(i=0;i<n;i++)
{
a[i]=new int[i+1];
for(j=0;j<i+1;j++)
{
if(j==0||j==i)
a[i][j]=1;
else
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
System.out.println("行杨辉三角为:");
for (i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
System.out.print(" ");
for(j=0;j<i+1;j++)
System.out.print(a[i][j]+" ");
System.out.print("\n");
}
}
catch(IOException e)
{
System.err.println("IOException");
} }}请输入杨辉三角的规模:8
行杨辉三角为:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
import java.util.*;
public class Exeone {
public static void main(String[] args)
{
int i,j;
int a[][]=new int[10][10];//声明一个10行10列的二维数组
System.out.print("杨辉三角\n");
for(i=0;i<10;i++)//通过循环给这个数组的每一行的第一个元素和最后一个元素赋值为1
{
a[i][0]=1;
a[i][i]=1;
}
//从第三行开始给每一行从第二个元素开始赋值
for(i=2;i<10;i++)
{
for(j=1;j<i;j++)
{
//赋值为上一行的前一个位置和这个位置上的值得和
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
//输出每一行的元素值
for(i=0;i<10;i++)
{//行代表一级数组
for(j=0;j<=i;j++)
{//列代表二级数组
System.out.print(a[i][j]);
}
System.out.println();
}
}}