(for循環)打印各種三角形(C語言)


在練習制作三子棋時,遇到了需要用for進行靈活的輸出正方形宮格,就想起了打印*號三角形,然后索性再練習了一番。

 

 1 #include <stdio.h>
 2 
 3 int main(){
 4     int tmp;
 5 
 6     printf("請輸需要打印的行數:");
 7     scanf("%d", &tmp);
 8 
 9 // 打印靠左正三角形
10     for(int i=1;i<=tmp;i++){
11         for(int j=0;j<i;j++){
12             printf("* ");
13         }
14         printf("\n");
15     }
16 
17     // 打印靠左倒三角形
18     for(int i=1;i<=tmp;i++){
19         for(int j=0;j<tmp-i;j++){
20             printf("* ");
21         }
22         printf("\n");
23     }
24 
25     // 打印靠右的正三角形
26     for(int i=1;i<=tmp;i++){
27         // tmp-i 則空格數剛好比需要輸出的列數少一個,也就是*號的位置
28         for(int j=0;j<tmp-i;j++){
29             printf(" ");
30         }
31         for(int k=0;k<i;k++){
32             printf("* ");
33         }
34         printf("\n");
35     }
36 
37     // 打印靠右的倒三角形,因為少一行,所以需要-1
38     for(int i=1;i<=tmp-1;i++){
39         for(int j=0;j<i;j++){
40             printf(" ");
41         }
42         for(int k=0;k<tmp-i;k++){
43             printf("* ");
44         }
45         printf("\n");
46     }
47 
48     // 打印正大三角形
49     for(int i=1;i<=tmp;i++){
50         for(int j=0;j<tmp-i;j++){
51             printf(" ");
52         }
53         for(int k=0;k<2*i-1;k++){
54             printf("*");
55         }
56         printf("\n");
57     }
58 
59     // 打印倒大三角形
60     for(int i=1;i<=tmp-1;i++){
61         for(int j=0;j<i;j++){
62             printf(" ");
63         }
64         for(int k=0;k<(2*(tmp-i)-1);k++){
65             printf("*");
66         }
67         printf("\n");
68     }
69 
70     return 0;
71 }

 

打印后的效果就是這樣子了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM