Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用嵌套的while循环创建图案_C++ - Fatal编程技术网

C++ 使用嵌套的while循环创建图案

C++ 使用嵌套的while循环创建图案,c++,C++,我是编程新手,我对这种模式很感兴趣 我想使用嵌套的while循环,因为使用for循环我已经完成了。 我无法获得正确的输出……这是我的代码 int i=1,j=1,n=5,z=1,c=5; while(i<=n) { j=1; while(j<=i) { cout<<"*"; j++; } z=5; while(z>i) { cout<<".";

我是编程新手,我对这种模式很感兴趣

我想使用嵌套的while循环,因为使用for循环我已经完成了。 我无法获得正确的输出……这是我的代码

int i=1,j=1,n=5,z=1,c=5;
while(i<=n)
{
    j=1;
    while(j<=i)
    {
        cout<<"*";
        j++;
    }
    z=5;
    while(z>i)
    {
        cout<<".";
        z--;
    }
    c=1;
    while(c<=i)
    {
        cout<<"+";
        c++;
    }
    cout<<"\n";
    i++;
}

我不知道您想要打印什么,但是如果模式是绘制一组由“+”符号包围的“-”符号,其中每一行添加2个加号,那么下面是一些代码:

int w = 13;
int plus = 0;

while(plus < w)
{   int need = min(w - plus, 2);
    plus += need;
    int t = plus / 2;
    while(t--) printf("+");
    t = w - plus;
    while(t--) printf("-");
    t = plus - plus/2;
    while(t--) printf("+");
    puts("");
}
检查以下代码:

      #include <stdio.h>

int main(void) {
    int i,j,k,n=20,flag =0;
    i = 1;
    while (i<n)
    {
        flag = 0;
        k = i;
        while(k--)
        printf("+");
        j = i+1;
        while(j<n-i)
        {
            flag = 1;
            printf("-");
            j++;
        }

        k = i;
        while(k--)
        printf("+");
        printf("\n");
        if(flag == 0)
        break;
        i++;
    }
    return 0;
}

为什么不使用for循环呢?为什么要在循环之外声明循环变量?具体输出是什么?到目前为止你尝试了什么?空格是模式的一部分吗?@AbdulMajeed这里有两件事,1。你的循环甚至没有打印相同的字符,2。你能给出与你想要的符号计数相对应的数字吗?@saadtaame Yes空格是图案的一部分…图案没有意义,它是相同的输出。。。但我只想使用嵌套的while循环。@AbdulMajeed删除了for循环并添加了whileYeah。。。这和我想打印的东西是一样的。
      #include <stdio.h>

int main(void) {
    int i,j,k,n=20,flag =0;
    i = 1;
    while (i<n)
    {
        flag = 0;
        k = i;
        while(k--)
        printf("+");
        j = i+1;
        while(j<n-i)
        {
            flag = 1;
            printf("-");
            j++;
        }

        k = i;
        while(k--)
        printf("+");
        printf("\n");
        if(flag == 0)
        break;
        i++;
    }
    return 0;
}