一二重循环画菱形

    技术2025-12-15  12

    其实挺纠结这些循环画图的,在我菜鸟看来,好听点是练习循环的掌握和运用,难听点就是简单的问题复杂化,画图用C#,真是折腾啊= =),莫非简单的问题复杂化才能体现咱们的工作能力....: ) /* //一重循环画菱形 int i, j, k, s = 1, n = 10; // s记"*"星数,开始值是1, //n记" "空格数, // n开始值要大于等于总行数除2, // 就是要大于等于7/2=3,这里设为10 for (i = 0, j = n, k = s; i < 7; ) // 循环7次(实际不只这数),输出7行的菱形. { if (j-- > 0) // 开始第一次j=10,j大于0时就输出一个空格,会输出10个空格 { Console.Write(" "); continue; } // 输出一个" "空格,继续重新循环, if (k-- > 0) // 开始第一次k=1,输出一颗"*"星 { Console.Write("*"); continue; } Console.WriteLine(); if (i < 3) // 前四行 { n--; s += 2; j = n; k = s; } // 减一个空格,加两颗"*"星 else // 后三行 { n++; s -= 2; j = n; k = s; } // 加一个空格,减两颗"*"星 i++; } Console.ReadLine(); */ //二重循环画菱形 int i, j, k; for (i = 1; i <= 7; i = i + 2) //前4行 { for (k = 1; k <= (7 - i) / 2; k++) Console.Write(" "); for (j = 1; j <= i; j++) Console.Write("*"); Console.WriteLine(); } for (i = 5; i >= 1; i = i - 2) //后三行 { for (k = 1; k <= (7 - i) / 2; k++) Console.Write(" "); for (j = 1; j <= i; j++) Console.Write("*"); Console.WriteLine(); } Console.ReadLine();
    最新回复(0)