注册 登录
编程论坛 C++教室

请高手帮忙做下节下的部分 在线等

godzhu 发布于 2008-06-23 21:09, 629 次点击
题目: 求显示如下
                         1
                       1 2 1
                     1 2 3 2 1
                   1 2 3 4 3 2 1
                 1 2 3 4 5 4 3 2 1
               1 2 3 4 5 6 5 4 3 2 1
 将我写好的代码发上,请高手指点!!
#include <iostream.h>
void main()
{
    int n;
    cin>>n;
    for(int a=1;a<=n;a++)
    {
        for(int b=1;b<=(2*n-1-(2*a-1))/2;b++)
            cout<<" ";
        for(int c=1;c<=2*a-1;c++)
            cout<<"*";    
            cout<<endl;
    }
    
}
我就是没有相同怎么改里面的数字 望高手给我补下  顺便说下思路  望不要改了已编好的代码。。谢谢
1 回复
#2
leius2008-06-24 01:35
#include <iostream.h>
void main()
{
    int n;
    cin>>n;
    for(int a=1;a<=n;a++)
    {
        int num=1;
        int flag = true;    //判断加减
        for(int b=1;b<=(2*n-1-(2*a-1))/2;b++)
            cout<<" ";
        for(int c=1;c<=2*a-1;c++)
        {
            cout<<num;   
            if(flag)
                num++;
            else
                num--;
            if(num==a)
                flag =false;
        }
        cout<<endl;
    }
}
1