1.关于承接
做了30道关于嵌套循环的题,发现几乎没咋用到while(
2.关于行列
一开始时做了大概15道有关打印图形的题,一开始的思路就是根据网上学的,最外层的for决定打印几遍操作,里面的for代表操作。但实际上我觉得尤其是关于打印图形而言,更好的理解方式应该是以列和行的思想去做这些题
int main()
{
    int n;
    scanf ("%d",&n);
    for (int i =1 ;i<=n;i++)
    {
        for (int j=1;j<=n;j++)
        {
            if (i==n)
            {
                printf("* ");
            }
            else if(j==1||j==i)
            {
               printf("* ");
            }
            else
            {
                printf("  ");
            }
        }
        printf("\n");
    }
}



以这道题为例,我的思路是首先关于ij构造一个三角形轮廓,然后再分别对列和行进行调整,根据i-行-外层for,j-列-内层for进行几次微调,很轻松的就把题做出来了。
3.关于矩阵的启蒙
这套题真是循循渐进,一开始的题让我开始对行,列有了感受,由于我同时也提前预习了线性代数,其实矩阵的思想也是行,列,而最后一道题是关于三元一次方程的求解
#include <stdio.h>

int main() {
    int count = 0;
    // 遍历 X 的所有可能取值
    for (int X = -30; X <= 30; X++) {
        // 遍历 Y 的所有可能取值
        for (int Y = -30; Y <= 30; Y++) {
            // 遍历 Z 的所有可能取值
            for (int Z = -30; Z <= 30; Z++) {
                // 检查当前的 (X, Y, Z) 是否满足方程 2X + 3Y + 5Z = 100
                if (2 * X + 3 * Y + 5 * Z == 100) {
                    count++;
                }
            }
        }
    }
    // 输出满足方程的解的组数
    printf("%d\n", count);
    return 0;
}
思路一下就闭环了