gpt4 book ai didi

c - 在 C 中创建图案(不是菱形)的嵌套循环

转载 作者:行者123 更新时间:2023-11-30 15:23:34 24 4
gpt4 key购买 nike

因此,对于我的作业,我必须输入长度和宽度,并根据输入打印出“*”模式。最小高度为 7,仅增加奇数整数,宽度为 6 的任意倍数。

使用高度 7 和宽度 12 输出的基本格式:

************
************
*** ***
*** ***
*** ***
************
************

所以基本上第一条和最后两条线是直接穿过整个宽度的,奇数行包含 3 个星号,后跟 3 个空格,直到到达宽度的末尾。偶数行以 3 个空格开始。

我已经弄清楚如何使用以下代码打印前两行:

do 
{
printf("*");
++i;
}while(i<width);

printf("\n");

do
{
printf("*");
++j;
}while(j<=width);
printf("\n");

但是对于我的一生,我无法想出使用基本嵌套循环来打印内部模式的正确方法。我问了一位程序员 friend ,他不熟悉C语言,但用Java写了一个基本程序。我不懂 Java,并尝试翻译它,但注意到这两种语言之间的逻辑存在一些巨大差异,这让我头疼。这是他的代码:

// LOGGING
var consoleLine = "<p class=\"console-line\"></p>";

console = {
log: function (text) {
$("#console-log").append($(consoleLine).html(text));
}
};


// PATTERN PARAMETERS
var rows = 6;
var cols = 7;

// hard code a space so html respects it
var space = "&nbsp;"

console.log("cols: " + cols + " rows: " + rows);

for (y = 0; y < rows; ++y) {
var line = "";
for (x = 0; x < cols; ++x) {

// First two and last two rows do not have patterns and just print filled
if (y == 0 || y == 1 || y == rows - 1 || y == rows - 2) {
line += "*";
} else {
if (y % 2 == 0) {
// Even row
line += x % 6 < 3 ? "*" : space;
} else {
// Odd row
line += x % 6 >= 3 ? "*" : space;
}
}
}
console.log(line);
}

请帮助我或为我指明正确的方向!我在网上搜索过,但似乎找不到有效的解决方案!

编辑-忘记提及所有“printf”使用一次只能打印一个字符......例如单个*

编辑编辑-我成功了!!!!非常感谢大家的意见和指导!这是我所拥有的完美运行的:

for (y = 0; y < height; ++y) 
{
printf("\n");

for (x = 0; x < width; ++x)
{
// First two and last two rows do not have patterns and just print filled lines
if (y == 0 || y == 1 || y == height - 1 || y == height - 2)
{
printf("*");
}
else
{
if (y % 2 == 0)
{
if(x%6<3)
{
printf("*");
}
else
{
printf(" ");
}

} else {
// Odd row
if(x%6>=3)
{
printf("*");
}
else
{
printf(" ");
}
}
}

}
printf("\n");

最佳答案

编写一个带有 3 个参数的函数 n,a,b打印 n每个参数 3 个一组 ab交替。您可以调用此函数来打印 4 种不同类型的行。您可以制作一个循环来重复打印中间部分。玩得开心!

关于c - 在 C 中创建图案(不是菱形)的嵌套循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28751115/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com