使用嵌套while循环创建Pattern

时间:2014-12-24 14:38:38

标签: c++

我是编程新手,我对这种模式感到震惊

![Using For loop][1]

我想使用嵌套的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 个答案:

答案 0 :(得分:0)

我不知道你要打印什么,但是如果模式是要画出一堆&#39; - &#39;被&#39; +&#39;包围的标志每个下一行添加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("");
}

答案 1 :(得分:0)

检查以下代码:

      #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;
}