C程序分别实现下列字符阵列的输出

发布时间 2023-10-17 09:56:35作者: 银河小船儿

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 }

运行结果: