跳至主要內容

2.6 C语言图形打印练习


C语言图形打印

  • 一重循环解决线性的问题,而二重循环和三重循环就可以解决平面和立体的问题了
  • 打印矩形
****
****
****
// 3行4列
//  外循环控制行数
for (int i = 0; i < 3; i++) {
//        内循环控制列数
    for (int j = 0; j < 4; j++) {
        printf("*");
    }
    printf("\n");
}
  • 打印三角形
    • 尖尖朝上,改变内循环的条件表达式,让内循环的条件表达式随着外循环的i值变化
    • 尖尖朝下,改变内循环的初始化表达式,让内循环的初始化表达式随着外循环的i值变化
*
**
***
****
*****
/*
最多打印5行
最多打印5列
每一行和每一列关系是什么? 列数<=行数
*/
for(int i = 0; i< 5; i++) {
    for(int j = 0; j <= i; j++) {
        printf("*");
    }
    printf("\n");
}
*****
****
***
**
*
for(int i = 0; i< 5; i++) {
    for(int j = i; j < 5; j++) {
        printf("*");
    }
    printf("\n");
}
  • 练习
    • 打印特殊三角形
1
12
123
for (int i = 0; i < 3; i++) {
    for (int j = 0; j <= i; j++) {
        printf("%d", j+1);
    }
    printf("\n");
}
    • 打印特殊三角形
1
22
333
for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= i; j++) {
        printf("%d", i);
    }
    printf("\n");
}
    • 打印特殊三角形
--*
-***
*****
for (int i = 0; i <= 5; i++) {
    for (int j = 0; j < 5 - i; j++) {
        printf("-");
    }
    for (int m = 0; m < 2*i+1; m++) {
        printf("*");
    }
    printf("\n");
}
    • 打印99乘法表
1 * 1 = 1
1 * 2 = 2     2 * 2 = 4
1 * 3 = 3     2 * 3 = 6     3 * 3 = 9
for (int i = 1; i <= 9; i++) {
    for (int j = 1; j <= i; j++) {
        printf("%d * %d = %d \t", j, i, (j * i));
    }
    printf("\n");
}

最后,如果有任何疑问,加微信 leader_fengy 拉你进学习交流群

上次编辑于: