C语言入门——输出各类三角形问题(方法讲解+输出练习)
★本篇内容简介:1.方法的解释——>2.各类三角形的输出——>3.补充内容(正方形、长方形、菱形)
目录
相信你看完之后,会有收获!!
1.方法的解释
关于输出各类三角形问题,首先要知道其方法,如何去做:
一般常用方法有:
①直接打印输出
// 打印方法:常用的多行字符串写法
关于多行字符串写法的解释,举个例子来做阐述:
#include<stdio.h> int main() { printf("line 1\n" "line 2\n" "line 3\n" "line 4\n" "line 5\n" "line ...\n"); return 0; }
②循环遍历输出(需要找要图形的输出规律)
比如下面2.各类三角形中第一个基本三角形:
#include <stdio.h> int main(){ for(int i=1;i<=5;i++){ for(int j=1;j<=i;j++){ printf("*"); } printf("\n"); } }
结果如图:
但是如果只用第一层循环,结果如图:
发现第一层循环是控制列的,而第二层自然是控制行的咯
流程简要解释:
基本三角形由上向下从 1个 " * " 到 5个 " * " 那每行的 " * "就要有变化,所以j<=i,因为i是从1到5的。
i=1时j <= 1 j层循环 j=1循环一次 输出一个* 然后 j++ j =2 大于 i 跳出j层循环,换行一次,然后i++,i=2
i=2时j <= 2 j层循环 j=1循环两次 输出两个**
…
依次类推就输出了如下图形:
* ** *** **** *****
了解完方法之后,我们来看一下各类三角形的输出:
2.各类三角形的输出
①基本三角形(左下三角形)
如图:
#include <stdio.h> int main() { for(int i=1;i<=5;i++) { for(int j=1;j<=i;j++) { printf("*"); } printf("\n"); } }
②左上三角形
如图:
#include <stdio.h> int main(){ for(int i=1;i<=5;i++) { for(int j=i;j<=5;j++) { printf("*"); } printf("\n"); } }
③右下三角形
ps:联系左上三角形进行理解,它们是相对的。
如图:
#include <stdio.h> int main(){ for(int i=1;i<=5;i++) { for(int j=1;j<=5-i;j++) //相比前两个多加了for循环 { //相当于输出了一个左上空格三角形 printf(" "); } for(int n=1;n<=i;n++) { printf("*"); } printf("\n"); } return 0; }
④右上三角形
ps:联系左下三角形进行理解,它们是相对的。
如图:
#include <stdio.h> int main(){ for(int i=1;i<=5;i++) { for(int j=1;j<=i;j++)//相比前两个多加了个for循环 { //相当于输出了一个左下空格三角形 printf(" "); } for(int n=0;n<=5-i;n++) { printf("*"); } printf("\n"); } return 0; }
⑤正向等腰三角形
ps:联系右下和左下三角形进行理解,它们合并,去掉多余的交集边,就成了正等腰三角形。
如图:
#include <stdio.h> int main(){ for(int i=0;i<=4;i++) { for(int j=0;j<=4-i;j++) { printf(" "); } for(int k=0;k<=i*2;k++) { printf("*"); } printf("\n"); } return 0; }
⑥倒向等腰三角形
ps:联系右上和左上三角形进行理解,它们合并,去掉多余的交集边,就成了倒等腰三角形。
如图:
#include <stdio.h> int main() { for(int a=0;a<=4;a++) { for(int b=0;b<=a;b++) { printf(" "); } for(int c=0;c<9-2*a;c++) { printf("*"); } printf("\n"); } return 0; }
3.补充:
⑦正方形
ps:联系基本三角形
如图:
#include <stdio.h> int main(){ for(int i=1;i<=4;i++) { for(int j=0;j<=4;j++) { printf("*"); } printf("\n"); } }
⑧长方形
ps:联系基本三角形
如图:
#include <stdio.h> int main(){ for(int i=0;i<=4;i++) { for(int j=0;j<=4;j++) { printf("*"); } printf("\n"); } }
⑨菱形
ps:联系正向和倒向等腰三角形进行理解,它们合并,去掉多余的交集边,就成了菱形。
如图:
#include <stdio.h> int main(){ for(int i=0;i<=4;i++) { for(int j=0;j<=4-i;j++) { printf(" "); } for(int k=0;k<=i*2;k++) { printf("*"); } printf("\n"); } for(int a=1;a<=4;a++) { for(int b=0;b<=a;b++) { printf(" "); } for(int c=0;c<9-2*a;c++) { printf("*"); } printf("\n"); } return 0; }
作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)
★喜欢的话,还请多多点赞与关注! 感谢支持!
如有缺漏或者错误,还请帮忙指出!
如果大家有其他更好的方法,欢迎评论分享!