Java使用for循环:打印直角三角形/倒直角三角形/正三角形/倒正三角形/矩形/平行四边形/菱形的规律

新人表示总结出规律后,小意思啦~

使用方法:嵌套for循环

1.外层循环控制的是执行的轮数,内层循环控制的是这一轮中执行的次数

2.外层循环控制的是图形的行数,内层循环控制的是这一行的列数

直角三角形:

规律:

1.外层for循环,循环条件 i 值设定具体边长

2.内层for循环,循环条件 j 值与外层循环 i 值挂钩(打印空格加*)

//直角三角形
for (int i = 0; i <= 5; i++) {
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

倒直角三角形:

规律:(对比上面直角三角形)

1.外层for循环全部相反:开始条件0改成5,循环条件 '<'号 改成 '>'号,更改条件 ++ 改成 --

2.内层for循环不变(打印空格加*)

//倒直角三角形
for (int i = 5; i >= 0; i--){
            for (int j = 0; j <= i; j++){
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

或者

1.内层for循环全部相反:开始条件0改成5,循环条件 '<'号 改成 '>'号,更改条件 ++ 改成 --

2.外层for循环不变(打印空格加*)

//倒直角三角形
for (int i = 0; i <= 5 ; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//打印空格
        }

结论:对比直角三角形,外层和内层循环哪一个相反,都可以打印出倒直角三角形 

 矩形或正方形:

规律:(最简单)

1.外层for循环和内层for循环一模一样

2.内层打印标志符,外层打印换行(打印空格加*)

//矩形或正方形
for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

正三角形:

规律:

1.外层for循环正常不变

2.第一个内层for循环,与外层for循环全部相反:开始条件0改成5,循环条件 '<'号 改成 '>'号,更改条件 ++ 改成 --(相当于打印一个空格组成的倒直角三角形)

  并且循环条件 j 值与外层循环 i 值挂钩

  (打印的是空格)

3.第二个内层for循环,与外层for循环一样,只是循环条件 j 值与外层循环 i 值挂钩(打印空格加*)

注意:两个内层for循环循环条件 j 值与外层循环 i 值全部挂钩,不赋值

//正三角形
for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

倒正三角形:

规律:(对比上面正三角形)

1.外层循环不变,第二个内层for循环和第三个内层for循环互换位置,打印内容不换

(第二层for循环相当于先打印一个空格组成的直角三角形)
//倒正三角形
for (int i = 0; i <= 5 ; i++) {
            for (int j = 0; j <= i ; j++) {
                System.out.print(" ");//打印空格
            }
            for (int j = 5; j >= i ; j--) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

平行四边形:

规律:(对比正三角形)

1.可以说和正三角形打印一模一样

2.唯一要改的地方:第二个内层for循环的循环条件,正三角形的 j <= i 改成 j <= 5 ,换成赋值就行啦

正三角形 

//正三角形
for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

自己对比一下 

平行四边形

//平行四边形
for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= 5; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

菱形:

规律:

1.就是上面一个正三角形,下面一个倒正三角形,拼起来就行

2.唯一要改的地方:下面倒正三角形,除了外层for循环开始条件的数值0不修改,其它三层for循环的所有数值减1,就能完美拼接

正三角形 

//正三角形
for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

拼接

倒正三角形

//倒正三角形
for (int i = 0; i <= 4 ; i++) {
            for (int j = -1; j <= i ; j++) {
                System.out.print(" ");//打印空格
            }
            for (int j = 4; j >= i ; j--) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

 唯一改正后

菱    形

//菱形
        //正三角形
        for (int i = 0; i <= 5; i++) {
            for (int j = 5; j >= i ; j--) {
                System.out.print(" ");//打印空格
            }
            for (int j = 0; j <= i; j++) {
                System.out.print(" *");//打印空格加*
            }System.out.println();
        }
        //倒正三角形
        for (int i = 0; i <= 4 ; i++) {
            for (int j = -1; j <= i ; j++) {
                System.out.print(" ");//打印空格
            }
            for (int j = 4; j >= i ; j--) {
                System.out.print(" *");//打印空格加*
            }System.out.println();//换行
        }

我是刚入行的新人,以上规律都是我原创总结,分享给其他新人哈~

在C++中,你可以定义一系列函数来分别处理这五种图形的输出。这里是一个简单的示例,每个函数接收相应的属性作为输入并打印出图形: ```cpp #include <iostream> // 直角三角形 void print_right_triangle(int side) { for (int i = 0; i <= side; ++i) { std::cout << "* "; for (int j = 0; j < side - i; ++j) std::cout << " "; std::cout << "\n"; } } // 等腰三角形 void print_isosceles_triangle(int base, int height) { for (int i = 0; i < base; ++i) { if (i == 0 || i == base / 2) { std::cout << "#"; } else { std::cout << " "; } for (int j = 0; j < height - 1; ++j) { std::cout << " "; } std::cout << "#\n"; } } // 矩形 void print_rectangle(int width, int height) { for (int i = 0; i < height; ++i) { for (int j = 0; j < width; ++j) std::cout << "* "; std::cout << "\n"; } } // 平行四边形 void print_parallelogram(int base, int side) { for (int i = 0; i < base; ++i) { for (int j = 0; j < side; ++j) std::cout << "* "; if (i % 2 == 0) std::cout << "\n"; else std::cout << "\t"; } } // 菱形 void print_kite(int length, int width) { for (int i = 0; i < length; ++i) { if (i == 0 || i == length / 2) std::cout << "* "; else if (i % 2 == 0) std::cout << " "; for (int j = 0; j < width; ++j) { if (j == 0 || j == width / 2) std::cout << "* "; else std::cout << " "; } std::cout << "\n"; } } // 打印帮助信息 void print_usage() { std::cout << "Usage: Call a function with appropriate parameters like print_right_triangle(side)\n"; } int main() { // 示例调用 print_right_triangle(5); print_isosceles_triangle(6, 4); print_rectangle(4, 3); print_parallelogram(5, 3); print_kite(7, 4); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值