VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 779|回复: 4

求一个图形的算法.

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-16 09:40:01 | 显示全部楼层 |阅读模式
*****
                           *     *
                          *        *
                         *           *
                        ***************   
                          
                     打印上面的一个高和上底为5的等腰梯形,
        
               哪位可以帮我讲一下算法.谢谢了
回复

使用道具 举报

0

主题

9

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-2-5 08:45:01 | 显示全部楼层
输出5个*,并换行
循环5-K行
   退后i格输出一个*
   输出5+2*i-2个空格
   输出一个*
   输出换行
   //以上也可以先生成整个字串再输出
循环
输出5+2*K个*
回复

使用道具 举报

0

主题

9

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-7-4 10:15:01 | 显示全部楼层
看看下面这个数出三角形的程序,应该对你有帮助:

#include<iostream.h>

void main()
{       
        const int position = 30;         // 指定三角形顶点的位置
        const int lines = 6;                 // 指定要打印的行数
    // 前lines-1行
        for( int i=0; i<lines-1; ++i)
        {
                for(int stars=0; stars<=80; ++stars)
                {
                        if ((stars==position-i) || (stars==position+i))
                          cout << '*';
                        else
                          cout << ' ';
                }
                cout << endl;
        }
    // 最后一行
        for(int stars=0; stars<=80; ++stars)
        {
                if ((stars>=position-i) && (stars<=position+i))
                        cout << '*';
                else
                        cout << ' ';
        }
}
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-2 21:15:01 | 显示全部楼层
cout<<"     *****"<<endle;
for(int i=1;i<=3;i++){
   for(int j=5-i;j>0;j--)
     cout<<' ';
     cout<<'*';
   for(int k=5;k<=9;k+2)
     cout<<' ';
     cout<<'*'<<endle;}
cout<<"*********"<<endle;

回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-2 22:15:01 | 显示全部楼层
刚才那个有点小错误,看看下面这个吧
#include <iostream.h>

void main(){
        cout<<"     ***"<<endl;
for(int i=1;i<=3;i++){
   for(int j=5-i;j>0;j--)
     cout<<' ';
     cout<<'*';
   for(int k=4;k<=4+2*i;k++)
     cout<<' ';
     cout<<'*'<<endl;}
cout<<"  *********"<<endl;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表