使用while循环的星形模式

时间:2019-05-01 21:33:36

标签: c while-loop do-while

我想在此链接中制作星形图案

https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTpq63AaQe8nlrbBKskHUlz2fLu3U6-7KJbNqXgDDqLujjhJm8r

by while循环和do-while循环,但是有一些问题请帮助

int i,j,k;
i = 5;
j = 1;
k = 5;

while (i > 0)
{   
    while (j < i)
    {
        printf(" ");
        j++;
    }
    while (k >= i)
    {
        printf("*");
        k--;
    }
    printf("\n");
    i--;
}

为什么不起作用?我应该在哪里修理?

2 个答案:

答案 0 :(得分:0)

您的代码无法使用,因为您没有在while循环中正确初始化变量。我已经更正,下面的代码有效。

请确保将每次迭代的j和k的值都设置回初始值

int main(){
int i,j,k;
i = 5;
j = 1;
k = 5;

while (i > 0)
{   
    while (j < i)
    {
        printf(" ");
        j++;
    }
    while (k >= i)
    {
        printf("*");
        k--;
    }
    printf("\n");
    i--;
    j=1;
    k=5;
}
}

答案 1 :(得分:0)

您需要在ScriptApp.authMode.NONE之后重新初始化jk

i--

像这样:

j=1;
k=5;

在这里进行了测试:https://onlinegdb.com/r1-_m9Pj4