1.关于承接(
做了30道关于嵌套循环的题,发现几乎没咋用到while(
2.关于行列
一开始时做了大概15道有关打印图形的题,一开始的思路就是根据网上学的,最外层的for决定打印几遍操作,里面的for代表操作。但实际上我觉得尤其是关于打印图形而言,更好的理解方式应该是以列和行的思想去做这些题
以这道题为例,我的思路是首先关于ij构造一个三角形轮廓,然后再分别对列和行进行调整,根据i-行-外层for,j-列-内层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;
}
思路一下就闭环了
京公网安备 11010502036488号