没有这么简单的吧 因为给出底长 还要算高 你上面的sample那个根本不算是三角形吧 一条边歪了 而且你给出底长为7的话 那么点阵是1357和1234567和147和17 4种情况 其实这个最后还是求一个数的约数问题 看似简单 其实要考虑的深点啊~ 这种算法题你网上搜下ACM会出来一大坨~
程序大概就是首先提示输入一个值作为直角长方形的底 然后求出这个底-1的值的约数 约数就是他的跨度 然后再根据跨度算高 然后用高作为循环次数print出直角三角形
其实思路已经给到这地步了 还不自己动手一味的在baidu知道求代码是不会有进步的~ 下面的可以自己写写看吧~ 干巴爹~
//右对齐倒直角三角形
public static void print4(int num) {
int spaceNum = 0;
for (int i = num; i > 0; i--) {
spaceNum = num - i;
for (int j = 0; j < spaceNum; j++) {
System.out.print(" ");
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print(j);
System.out.print(" ");
}
System.out.println();
}
}
//左对齐倒直角三角形
public static void print2(int num) {
int row = num;
for (int i = 1; i <= row; i++) {
for (int j = 1; j <= num; j++) {
System.out.print(j + " ");
}
num--;
System.out.println();
}
}
import java.util.Scanner;
public class sjx {
public void output(){
int len;
Scanner scn=new Scanner(System.in);
System.out.print("请输入直角三角形的直角边长:");
len=Integer.parseInt(scn.nextLine());
for(int i=0;i
}
System.out.println();
}
}
public static void main(String[] args) {
new sjx().output();
}
}
请输入直角三角形的直角边长:4
****
***
**
*
public class a {
public static void main(String[] args) {
System.out.println("*******");
System.out.println(" ****");
System.out.println(" **");
System.out.println(" *");
}
}
这是你要的效果?
你说的很含糊啊,能不能具体点。