(for迴圈)列印各種三角形(C語言)
阿新 • • 發佈:2021-08-25
在練習製作三子棋時,遇到了需要用for進行靈活的輸出正方形宮格,就想起了列印*號三角形,然後索性再練習了一番。
列印後的效果就是這樣子了。
`#include <stdio.h>
int main(){
int tmp;
printf("請輸需要列印的行數:");
scanf("%d", &tmp);
// 列印靠左正三角形
for(int i=1;i<=tmp;i++){
for(int j=0;j<i;j++){
printf("* ");
}
printf("\n");
}
// 列印靠左倒三角形
for(int i=1;i<=tmp;i++){
for(int j=0;j<tmp-i;j++){
printf("* ");
}
printf("\n");
}
// 列印靠右的正三角形 for(int i=1;i<=tmp;i++){ // tmp-i 則空格數剛好比需要輸出的列數少一個,也就是*號的位置 for(int j=0;j<tmp-i;j++){ printf(" "); } for(int k=0;k<i;k++){ printf("* "); } printf("\n"); } // 列印靠右的倒三角形,因為少一行,所以需要-1 for(int i=1;i<=tmp-1;i++){ for(int j=0;j<i;j++){ printf(" "); } for(int k=0;k<tmp-i;k++){ printf("* "); } printf("\n"); } // 列印正大三角形 for(int i=1;i<=tmp;i++){ for(int j=0;j<tmp-i;j++){ printf(" "); } for(int k=0;k<2*i-1;k++){ printf("*"); } printf("\n"); } // 列印倒大三角形 for(int i=1;i<=tmp-1;i++){ for(int j=0;j<i;j++){ printf(" "); } for(int k=0;k<(2*(tmp-i)-1);k++){ printf("*"); } printf("\n"); } return 0;
}`