注册 登录
编程论坛 VC++/MFC

拜托大神帮忙写一个图形的类,不想写给思路也行,刚开始自学 C++,各种坎坷!!

ddmin 发布于 2014-10-30 23:23, 428 次点击
写一个void print (int n)
当n=1时,图形为/\  
               ++

当n =2时,图形为/\
               /**\
               ++++

当n=3时,图形为/\
              /**\
             /****\
             ++++++

就是这样的规律,然后写出类金字塔,哦最下面一行是加号,然后斜线里面的是星号*。
请大神帮一下忙吧,拜托拜托。
我刚开始用这个论坛,所以只有注册时得来的20分,如果大神不嫌少的话那我都送给您。
今晚就学到这吧,撑不下去了,希望明天能够收到回复^_^
3 回复
#2
yuccn2014-10-31 12:45
int g_nMax = 10;

void printLine(int line)
 {
    int i;
    for (i = 0;i < g_nMax - line;i++) {
        printf(" ");
    }

    printf("/");

    for (i = 0; i < line-1; i++) {
        printf("**");
    }

    printf("\\");
    printf("\n");
}

void printBottom(int n)
 {
    int i;
    for (i = 0;i < g_nMax - n;i++) {
        printf(" ");
    }

    for (i = 0;i<2*n;i++) {
        printf("+");
    }
}

void print(int n)
{
    int i;
    if (n > g_nMax) {
        n = g_nMax;
    }

    if (n < 0) {
        n = 1;
    }

    for (i = 1; i < n+1; i++) {
        printLine(i);
    }
   
    printBottom(n);
}

int main() {
    print(3);
    return 0;
}
#3
天使梦魔2014-10-31 12:46
程序代码:
void print (int n)
{
    int ss=0;//我们要打印多少星星
    for(int i=n;i;i--)//总共应该输出多少(不计算最后的+号行)
    {
        for(int a=i;a>1;a--)cout<<" ";//每行前有多少空格(为了保持直立)
        cout<<"/";//空格过后是边
        for(int b=ss;b;b--)cout<<"**";//打印星星,如果有的话
        cout<<"\\";//星星过后是边
        ss++;
        cout<<endl;
    }
    while(n)//打印最下面加号
    {
        cout<<"++";
        n--;
    }
    cout<<endl;
}
#4
yuccn2014-10-31 12:46
只有本站会员才能查看附件,请 登录
1