C程序分别实现下列字符阵列的输出:(https://zhuanlan.zhihu.com/p/443989560 可以参考这个博主写的)
1,左下三角形(代码)
1 #include <stdio.h>
2 int main()
3 {
4 for(int i = 1; i <= 5; i++) //行
5 {
6 for(int j = 1; j <= 5; j++) //列
7 {
8 if(i >= j) //行数大于列数,就打印。i=1时,j=1时才会打印,j=2,3,4,5就不会打印
9 printf("* ");
10 }
11 printf("\n");
12 }
13 return 0;
14 }
运行结果:
1.1,左下三角带数字的代码
只需把输出*的地方改成 和行数 i 一样
1 #include <stdio.h>
2 int main()
3 {
4 for(int i = 1; i <= 5; i++) //行
5 {
6 for(int j = 1; j <= 5; j++) //列
7 {
8 if(i >= j) //行数大于列数,就打印。i=1时,j=1时才会打印,j=2,3,4,5就不会打印
9 printf("%d ",i);
10 }
11 printf("\n");
12 }
13 return 0;
14 }
运行结果:
2,右下三角形(代码)
1 #include <stdio.h>
2 int main(){
3 for(int i=1;i<=5;i++) //i是行,
4 {
5 for(int j=1;j<=5-i;j++) //相比前两个多加了for循环
6 { //相当于输出了一个左上空格三角形
7 printf(" ");//两个空格
8 }
9 for(int n=1;n<=i;n++)//在j循环运行完后,i=1时,n=1,就打印一个*号,n只是补充*
10 {
11 j是列,i=1时,j=1,2,3,4,就打印空格。 printf("* ");
12 }
13 printf("\n");
14 }
15 return 0;
16 }
运行结果:
2.1,右下三角带数字的代码
只需改n循环里printf的输出,让输出和行数i 一样
1 #include <stdio.h>
2 int main(){
3 for(int i=1;i<=5;i++) //i是行,j是列,i=1时,j=1,2,3,4,就打印空格。
4 {
5 for(int j=1;j<=5-i;j++) //相比前两个多加了for循环
6 { //相当于输出了一个左上空格三角形
7 printf(" ");//两个空格
8 }
9 for(int n=1;n<=i;n++)//在j循环运行完后,i=1时,n=1,就打印一个*号,n只是补充*
10 {
11 printf("%d ",i);
12 }
13 printf("\n");
14 }
15 return 0;
16 }
运行结果: